我想获取数据属性data-itemtype
的值基于ul > li class = "activeTab"
这是我的代码。
<ul class="tabs">
<li data-itemtype="1" class="activeTab"><a href="#tab1">Published</a></li>
<li data-itemtype="0" class=""><a href="#tab2">Unpublished</a></li>
</ul>
如果class="activeTab"
排在第一位 <li>
然后,element 获取第一个 li 元素的数据属性,即本例中的 1,因此同样适用于第二个或任意数量的 li 元素。
我试过了
var itemType = $('ul.tabs').find('li.activeTab').attr('data-itemtype');
而且它不起作用。它显示值未定义。
更新:
我正在使用标签。我想知道哪个选项卡当前处于事件状态,并且我需要 javascript 变量中的该值。
这是我的 HTML 代码。
<div class="widget">
<ul class="tabs">
<li data-itemtype="1"><a href="#tab1">Published</a></li>
<li data-itemtype="0"><a href="#tab2">Unpublished</a></li>
</ul>
<div class="tab_container">
<div id="tab1" class="tab_content">
<div class="widget" style="margin-top:0px;">
<div class="title"><img src="/images/icons/dark/cart3.png" alt="" class="titleIcon" /><h6>Published Items</h6></div>
<p>Content</p>
</div>
</div>
<div id="tab2" class="tab_content">
<div class="widget" style="margin-top:0px;">
<div class="title"><img src="/images/icons/dark/cart3.png" alt="" class="titleIcon" /><h6>Unpublished Items</h6></div>
<p>Content</p>
</div>
</div>
</div>
<div class="clear"></div>
</div>
正在使用的 jQuery 是这个。
$.fn.contentTabs = function(){
$(this).find(".tab_content").hide(); //Hide all content
$(this).find("ul.tabs li:first").addClass("activeTab").show(); //Activate first tab
$(this).find(".tab_content:first").show(); //Show first tab content
$("ul.tabs li").click(function() {
$(this).parent().parent().find("ul.tabs li").removeClass("activeTab"); //Remove any "active" class
$(this).addClass("activeTab"); //Add "active" class to selected tab
$(this).parent().parent().find(".tab_content").hide(); //Hide all tab content
var activeTab = $(this).find("a").attr("href"); //Find the rel attribute value to identify the active tab + content
$(activeTab).show(); //Fade in the active content
return false;
});
};
$("div[class^='widget']").contentTabs(); //Run function on any div with class name of "Content Tabs"
上面的代码对我不起作用。
最佳答案
看起来工作正常。
我会使用.data(...)
来代替:
var itemType = $('ul.tabs').find('li.activeTab').data('itemtype');
alert(itemType);
关于jquery - 根据事件类获取数据属性的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10247247/