我正在页面上使用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工具正在发出警告。
如何从加载程序中删除标签?
答案 0 :(得分:0)
您可以使用jQuery remove
方法删除所需的元素。
$('.ui-loader').find('h1').remove();
答案 1 :(得分:0)
从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>
答案 2 :(得分:0)
我对参加聚会总是有点太晚了,但是如果您需要自定义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
时,您可以通过使用{{ 1}}选项:
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");
选项将不再能以这种方式工作,因为默认情况下,JQM正在搜索textVisible
标记,该标记在加载器标记中不再存在。这应该在JQM源代码中固定,并具有可以更灵活配置的方式,而无需硬编码h1
标签:
h1