题
我有这样的结构:
<div id="slider">
<div id="nav">
<div class="sliderPart">
<a href="#computers">
<strong>1</strong>
</a>
</div>
<div class="sliderPart">
<a href="#network">
<strong>2</strong>
</a>
</div>
<div class="sliderPart">
<a href="#web">
<strong>3</strong>
</a>
</div>
<div class="sliderPart">
<a href="#support">
<strong>4</strong>
</a>
</div>
</div>
<div id="slider-content">
<a href="#computers" id="slider-computers" class="slider-block">Test1</a>
<a href="#network" id="slider-network" class="slider-block">Test 2</a>
<a href="#web" id="slider-web" class="slider-block">Test 3</a>
<a href="#support" id="slider-support" class="slider-block">Test 4</a>
</div>
</div>
现在我要处理一下在 '导航' 和 '滑块内容',并获得点击的元素的href属性。
$('#slider').click(function(){
console.log( $(this) );
});
使用此代码我得到
[DIV#滑块]
解决方案
使用 attr
以获取或设置元素的属性值:
$('#slider a').click(function(){
console.log( $(this).attr('href') );
});
选择器#slider
指的是为什么萤火输出[div#slider]
div元素。可以使用靶向内它锚祖先后代选择器:
匹配所有派生元素 通过元件的“后代”指定 由 “祖先” 指定。
这意味着把祖先后的派生元素,由空格分隔如在上面的例子中 - $('#slider a')
<强> FYI AS VER 1.6 强> .prop()引入的。 <子>更多信息子>
属性和特性之间的差异可以是在特定情况下很重要。 jQuery的1.6之前,.attr()方法有时把属性值考虑检索某些属性,这可能会导致不一致的行为时。在jQuery 1.6的,所述.prop()方法提供了一种方式,以明确地检索属性值,而.attr()获取属性。 <子>更多信息子>
例如,的selectedIndex,标记名的nodeName,节点类型,ownerDocument,defaultChecked和defaultSelected应检索并与.prop()方法设置。在此之前的jQuery 1.6,这些性质是检索与.attr()方法,但是这不是attr的范围之内。这些不具备相应的属性,并且仅属性。 <子>更多信息子>
不隶属于 StackOverflow