我的页面中有多个p标签,其中几个标签的dir属性值为rtl,而其他标签具有rtl属性 我想隐藏没有dir属性的p标签并尝试使用此代码但不起作用
$(document).ready(function () {
jQuery("p:not([dir!=rtl])").hide();
})
我也尝试了这个代码,但它隐藏了页面上的所有p标签
$(document).ready(function () {
jQuery("p:not([dir])").hide();
})
答案 0 :(得分:2)
我也使用了与你提到的相同的代码jQuery("p:not([dir])").hide();
,它可以正常工作
$(document).ready(function(){
$("p:not([dir])").hide();
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<p dir='rtl'>rtl1</p>
<p dir='rtl'>rtl2</p>
<p dir='rtl'>rtl3</p>
<p>no dir attribute</p>
<p>no dir attribute</p>
答案 1 :(得分:0)
您可以尝试使用这两个选项来隐藏没有dir属性的元素,也可以尝试通过以下jQuery方法将其与属性值匹配:
$(document).ready(function(){
$("p:not([dir=rtl])").hide();
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<p dir='rtl'>rtl1</p>
<p dir='rtl'>rtl2</p>
<p dir='rtl'>rtl3</p>
<p>no dir attribute</p>
<p>no dir attribute</p>
答案 2 :(得分:0)
您可以采用另一种方式
$('p').each(function(){
if($(this).attr('dir') === 'rtl'){
$(this).hide();
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<p dir='rtl'>rtl1</p>
<p dir='rtl'>rtl2</p>
<p dir='rtl'>rtl3</p>
<p>no dir attribute</p>
<p>no dir attribute</p>
<p dir='rtl'>rtl2</p>
使用p
jQuery
方法遍历每个each
代码。
希望这会对你有所帮助。