据我所知,我正在关注http://api.jquery.com/multiple-attribute-selector/上的正确使用形式,但无论出于何种原因我都没有看到,我的代码无效。每个属性彼此独立地工作(即
$(".tonight_stat_peopleThumbs li[srcid="+srcid+"]")
有效且$(".tonight_stat_peopleThumbs li[style*=inline-block]")
有效,但它们无法协同工作。
以下是我在JavaScript中的功能:
hidePatrons = function(srcid) {
$(".tonight_stat_peopleThumbs li[srcid="+srcid+"][style*=inline-block]").each(function(){
$(this).css({"display" : "none"});
});
}
以下是HTML中的一篇文章:
<ul activepage="1" class="tonight_stat_peopleThumbs" style="width:171px">
<li id="myid" class="myclass" ptype="people" ptime="11101101" style="display:inline-block;">
<a href="http://domain.com/users/#.php">
<img src="https://graph.facebook.com/#/picture" />
</a>
</li>
</ul>
NOTE: The '#' are inserted for privacy, assume they are fbid numbers.
答案 0 :(得分:5)
请注意,虽然CSS allows attribute selectors without quotes,但每个jQuery example都有引号。我的经验是,如果没有引号,jQuery就无法可靠地选择。
/* Good for CSS, bad for jQuery */
[foo=bar]
/* Good for both */
[foo="bar"]
答案 1 :(得分:1)
尝试
$('.tonight_stat_peopleThumbs li[srcid="' + srcid + '"][style*="inline-block"]')
答案 2 :(得分:0)
尝试将li[srcid="+srcid+"]
更改为li[id="+srcid+"]
我没有看到“srcid”属性,因此我假设您要搜索“id”属性
答案 3 :(得分:0)
hidePatrons = function(srcid) {
$("#tonight_stat_peopleThumbs li[ptype=people][style*=inline-block]").each(function(){
$(this).css({"display" : "none"});
});
}
注意:#用于ID,。用于课程。我将。更改为#,将 srcid =“+ srcid +”更改为代码中的 ptype = people 。