我使用css和javascript创建了一个简单的标签导航。 它工作得很好,尽管有一件事我想澄清。
每个列表项(标签)都具有与“标签内容”div的ID匹配的“href”属性。然后我使用jQuery拉出动作。
现在我的问题:
为了获取ID,我使用$(this).find('a').attr('href')
然后使用简单的show()
来显示相应的内容div。
如果我使用$(this).attr('href')
获取ID,show()
函数将无效。
$(this).find('a').attr('href')
与$(this).attr('href')
答案 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
属性。