如果span里面的空格是文本,我有一个隐藏元素的问题。是否可以隐藏。我在下面尝试了没有结果的代码?谢谢。
Jquery的:
if($('#footerextra .link3 .ui-btn-inner .ui-btn-text').is(':empty')){
$(this).closest(.link3).hide();
}
HTML:
<div id="footerextra" class="ui-footer ui-bar-b" data-theme="b" data-role="footer" style="width=100%; text-align:center; margin: 0 auto;" role="contentinfo">
<a class="link3 ui-btn ui-shadow ui-btn-corner-all ui-btn-up-b" href="/cz/cs/80_automobilovy-prumysl/1191_vyroba-automobilovych-dveri.html?do=article" data-corners="true" data-shadow="true" data-iconshadow="true" data-wrapperels="span" data-theme="b">
<span class="ui-btn-inner ui-btn-corner-all">
<span class="ui-btn-text"> </span>
</span>
</a>
</div>
答案 0 :(得分:2)
您应该使用 .each() 来遍历您的span
元素,以便在此处使用$(this)
:
$('#footerextra .link3 .ui-btn-inner .ui-btn-text').each(function () {
if ($.trim($(this).text()) == 0) {
$(this).closest('.link3').hide();
}
});
此外,由于您的span
在HTML标记中占用了空格,因此您可以使用 jQuery.trim() 从版本的文本中删除空格。
<强> Fiddle Demo 强>
答案 1 :(得分:1)
有多个问题
$('#footerextra .link3').filter(function(){
return $.trim($(this).find('.ui-btn-inner .ui-btn-text').text()).length ==0
}).hide()
.ui-btn-text
不为空,因为它有一个空格(文本节点)作为子项this
内的ui-btn-text
元素,因此$(this).closest(.link3)
没有任何意义$(this).closest(.link3)
- 您遗失在link3
''
答案 2 :(得分:0)
$(this)这里没有引用&#39; .ui-btn-text&#39;:
if($('#footerextra .link3 .ui-btn-inner .ui-btn-text').is(':empty')){
$(this).closest(.link3).hide();
}
并在&#39; .link3&#39;。
中加上引号你可以这样做:
if($('#footerextra .link3 .ui-btn-inner .ui-btn-text').each(function() {
if ($(this).is(':empty')){
$(this).closest(.link3).hide();
}
});
但这只能循环到&#39; .ui-btn-text&#39;在同一个内部&#39; .ui-btn-inner&#39;。
答案 3 :(得分:0)
你可以这样做
Jquery的:
$('#id1').hide();
HTML:
< a id="id1" ></a>