如何删除tag from jQuery mobile loader?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何删除tag from jQuery mobile loader?相关的知识,希望对你有一定的参考价值。

我在我的页面上使用jQuery 1.4.5并在ajax请求之前使用加载器:

$.mobile.loading('show', {theme:"e", text:"", textonly:false, textVisible: false});

完成请求后,我隐藏它:

$.mobile.loading('hide');

这样可行,但它会在页面末尾生成一个标签,文本将位于该标签上。

<div class="ui-loader ui-corner-all ui-body-e ui-loader-default">
 <span class="ui-icon-loading"></span>
 <h1></h1>
</div>

由于第二个h1标签,一些SEO工具现在发出警告。

如何从加载程序中删除标记?

答案

您可以使用jQuery remove方法删除所需的元素。

$('.ui-loader').find('h1').remove();
另一答案

来自jQuery documentation

从DOM中删除匹配元素集。

与.empty()类似,.remove()方法从DOM中获取元素。如果要删除元素本身以及其中的所有内容,请使用.remove()。除了元素本身之外,还删除了与元素关联的所有绑定事件和jQuery数据。要删除元素而不删除数据和事件,请改用.detach()。

setTimeout(function(){
  $("h1").remove();
}, 3000);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<h1>H1 Heading</h1>
另一答案

我总是对派对来说太晚了,但如果您需要自定义JQM加载程序,请注意,在您的问题中描述的选项附近,您还可以提供html参数。

首先,您需要在JQM初始化期间设置您的自定义html而不使用不需要的h1标记:

<script src="https://code.jquery.com/jquery-2.2.4.min.js"></script>
<script>
  $(document).on("mobileinit", function () {
    /* jQuery Mobile initialization */
    var html = "<div class='ui-loader'><span class='ui-icon-loading'></span></div>";
    $.mobile.loader.prototype.defaultHtml = html;
    // ... other settings as You need
    $.mobile.loader.prototype.options.text = "";
    $.mobile.loader.prototype.options.textVisible = false;
  });
</script>
<script src="https://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.js"></script>

之后,您可以在没有任何文本消息的情况下显示loader或 - 当您无论如何需要显示加载message时 - 您可以进一步自定义它,始终使用html选项:

var html = "<div class='ui-loader'><span class='ui-icon-loading'></span><h6>Wait...</h6></div>";
$.mobile.loading("option", "html", html);
$.mobile.loading("show");


Please note:

标准的textVisible选项不再以这种方式工作,因为默认情况下JQM正在搜索加载器标记内不再存在的h1标记。这应该在JQM源代码中修复,允许更灵活的配置,而无需对h1标记进行硬编码:

1513                this.element.find( "h1" ).text( message );

以上是关于如何删除tag from jQuery mobile loader?的主要内容,如果未能解决你的问题,请参考以下文章

如何删除 jQuery Mobile 导航图标的圆形容器?

如何在 Jquery Mobile 中删除基本链接中的阴影?

如何在导航栏 Mobile Jquery 中删除行分隔符

如何去除jquery mobile 的css样式

JQuery Mobile 删除确认对话框

用于 jQuery Mobile 控件的 Asp.Net MVC Razor 标记