Jquery选项卡href和ID

时间:2011-06-02 16:10:34

标签: jquery css tabs href

我使用css和javascript创建了一个简单的标签导航。 它工作得很好,尽管有一件事我想澄清。

每个列表项(标签)都具有与“标签内容”div的ID匹配的“href”属性。然后我使用jQuery拉出动作。

现在我的问题: 为了获取ID,我使用$(this).find('a').attr('href')然后使用简单的show()来显示相应的内容div。 如果我使用$(this).attr('href')获取ID,show()函数将无效。

http://jsfiddle.net/eh4eB/

$(this).find('a').attr('href')$(this).attr('href')

之间的区别是什么?

3 个答案:

答案 0 :(得分:2)

因为click处理程序在<li>上,$(this)是围绕<li>元素的JQuery包装器。当然,<li>个元素没有href个属性,因此不会有任何内容。

另一方面,$(this).find('a')将为您提供一个包含<a>内所有<li>元素的JQuery对象 - .attr('href')将返回{{1}来自第一个的属性。

答案 1 :(得分:2)

为什么你也没有使用jQueryUI's Tabs?那会容易得多。

您的代码就是这样:

<script>
$(function() {
    $( "#admin-nav" ).tabs();
});
</script>

答案 2 :(得分:0)

您的click()事件已绑定到li元素,因此处理程序this内部也是li元素。因此,您需要先找到子a元素,然后才能确定其href属性。