我正在尝试获取具有类当前的锚点的ID属性,或者它们的父LI具有类当前。
我试试这段代码:
var terms = '';
$('.product-tax li').each(function(){
if ($(this).hasClass('current')) {
terms += $(this).children('a').attr('id') + ':';
} else if ($(this).children('a').hasClass('current')) {
terms += $(this).children('a').attr('id') + ':';
}
});
但它不起作用,它给出了意想不到的结果。我想在锚点内获取ID,以获取LI或锚点的“当前”类。
基本上我使用的是每个因为有多个.product-tax而用户进行选择但是“current”类可以添加到LI,或者锚点,这就是我需要检查的原因。此代码不起作用。
有什么建议吗?
HTML:
<div class="product-tax product-color">
<h3>Choose color</h3>
<ul>
<li><a href="#" id="color-pink" style="background: Pink;border: 1px solid Pink;"></a></li>
</ul>
</div>
<div class="product-tax product-size">
<h3>Choose size</h3>
<ul>
<li><a href="#" id="size-2s">2(s)</a></li>
<li><a href="#" id="size-3m">3(m)</a></li>
<li><a href="#" id="size-4l">4(l)</a></li>
<li><a href="#" id="size-5xl">5(xl)</a></li>
<li><a href="#" id="size-6xxl">6(xxl)</a></li>
</ul>
</div>
答案 0 :(得分:2)
您可以选择LI元素的所有锚子元素,以及当前类的所有子元素,如下所示:
var terms = "";
$(".product-tax li.current > a, .product-tax li > a.current").each(function(){
terms = terms + $(this).attr("id") + ":"
});
答案 1 :(得分:1)
试试这个
// get anchor with class current and anchor with parent li with class current
$('a.current,li.current > a').each(function(){
alert(this.id);
});
答案 2 :(得分:0)
var terms = '';
$('.product-tax li').each(function(){
if ($(this).hasClass('current')) {
terms += $(this).attr('id') + ':';
}
var $anchors = $(this).children("a");
$anchors.each(function(){
if ($(this).hasClass('current')) {
terms += $(this).attr('id') + ':';
}
});
});