如何删除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?的主要内容,如果未能解决你的问题,请参考以下文章