如果我有这个HTML代码:
<ul class="nav nav-tabs" id="myTab">
<li class="active"><a data-target="#home" data-toggle="tab">BBC</a></li>
<li><a data-target="#profile" data-toggle="tab">CNN</a></li>
<li><a data-target="#messages" data-toggle="tab">Sky news</a></li>
</ul>
<div class="tab-content">
<div class="tab-pane active" id="home">
<iframe src="http://www.bbc.com/" height="500px" width="100%" ></iframe>
</div>
<div class="tab-pane" id="profile">
<iframe src="http://edition.cnn.com/" height="500px" width="100%"></iframe>
</div>
<div class="tab-pane" id="messages">
<iframe src="http://news.sky.com/" height="500px" width="100%" ></iframe>
</div>
</div>
如您所见,<ul id="tabs">
<li><a id="tabb1" href="#tab1" data-translate="pagtab5" onclick="CaricaVisualizzaTab(1)">Tightening Torques</a>
</li>
<li><a id="tabb2" href="#tab2" data-translate="pagtab6" onclick="CaricaVisualizzaTab(2)" class="inactive">Specifications</a>
</li>
<li><a id="tabb3" href="#tab3" data-translate="pagtab7" onclick="CaricaVisualizzaTab(3)" class="inactive">Technical Data</a>
</li>
类有两个<li>
个元素。
我试图这样做,我有
inactive
但是如何在没有课程$("#tabs").children();
的情况下搜索特定<li>
?
感谢您的帮助
答案 0 :(得分:2)
$("#tabs").children(':has(>:not(.inactive))');
// or with a single selector
$("#tabs > :has(>:not(.inactive))");
console.log($("#tabs").children(':has(>:not(.inactive))').length);
// or with a single selector
console.log($("#tabs > :has(>:not(.inactive))").length);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul id="tabs">
<li><a id="tabb1" href="#tab1" data-translate="pagtab5" onclick="CaricaVisualizzaTab(1)">Tightening Torques</a>
</li>
<li><a id="tabb2" href="#tab2" data-translate="pagtab6" onclick="CaricaVisualizzaTab(2)" class="inactive">Specifications</a>
</li>
<li><a id="tabb3" href="#tab3" data-translate="pagtab7" onclick="CaricaVisualizzaTab(3)" class="inactive">Technical Data</a>
</li>
更新1:或者不使用jQuery :has()
而是使用parent()
方法。
$("#tabs > li > :not(.inactive)").parent()
console.log($("#tabs>li>:not(.inactive)").parent().length);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul id="tabs">
<li><a id="tabb1" href="#tab1" data-translate="pagtab5" onclick="CaricaVisualizzaTab(1)">Tightening Torques</a>
</li>
<li><a id="tabb2" href="#tab2" data-translate="pagtab6" onclick="CaricaVisualizzaTab(2)" class="inactive">Specifications</a>
</li>
<li><a id="tabb3" href="#tab3" data-translate="pagtab7" onclick="CaricaVisualizzaTab(3)" class="inactive">Technical Data</a>
</li>
更新2 :如果您只想选择a
代码,那么:not()
足以通过单个选择器字符串获取它。
$("#tabs > li > :not(.inactive)")
$("#tabs>li>:not(.inactive)").css('color', 'red');
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul id="tabs">
<li><a id="tabb1" href="#tab1" data-translate="pagtab5" onclick="CaricaVisualizzaTab(1)">Tightening Torques</a>
</li>
<li><a id="tabb2" href="#tab2" data-translate="pagtab6" onclick="CaricaVisualizzaTab(2)" class="inactive">Specifications</a>
</li>
<li><a id="tabb3" href="#tab3" data-translate="pagtab7" onclick="CaricaVisualizzaTab(3)" class="inactive">Technical Data</a>
</li>
答案 1 :(得分:2)
view.findViewById(R.id.your_view);
$('#tabs li a').not('.inactive').css('color','red')
使用方法.not()
描述:从匹配元素集中删除元素。
答案 2 :(得分:1)
您可以使用.not()函数
$("#tabs").find('a').not('.inactive');
答案 3 :(得分:1)
您可以使用以下代码
sizeof
在您的情况下[class]将处于非活动状态
答案 4 :(得分:1)
通过使用javascript我们可以这样完成: -
var liWithoutHtml = document.getElementById('tabs').querySelector("li>a:not(.completed):not(.selected)");
alert(liWithoutHtml.innerHTML)
Jsfiddle链接