Jquery 我想得到第一个DOM对象,但不是第一个对象的属性
HTML文档中有3个标记Jquery 我想得到第一个DOM对象,但不是第一个对象的属性,jquery,dom,jquery-selectors,Jquery,Dom,Jquery Selectors,HTML文档中有3个标记a。详情如下: <nav id="navigation"> <a href="#" tabindex="1" class="active_nav">nav1</a> <a href="#" tabindex="2">nav2</a> <a href="#"tabindex="3">nav3</a> </nav> 但是它显示了第一个的href属性 如果我
a
。详情如下:
<nav id="navigation">
<a href="#" tabindex="1" class="active_nav">nav1</a>
<a href="#" tabindex="2">nav2</a>
<a href="#"tabindex="3">nav3</a>
</nav>
但是它显示了第一个
的href属性
如果我将
替换为
,它会工作
<nav id="navigation">
<div >nav1</div>
<div >nav2</div>
<div >nav3</div>
</nav>
导航1
导航2
导航3
当警报($(“#导航>div”)[0]);它显示了第一个DOM对象。
我觉得很奇怪。救救我 这是因为
htmlanchoreElement
的toString
只返回href
属性
$("#navigation > a")[0]; // HTMLAnchorElement
$("#navigation >a")[0].href; // "http://example.com/#"
$("#navigation >a")[0].toString(); // "http://example.com/#"
alert
仅将字符串作为参数,因此会自动对元素调用toString
,您最终会看到href
属性
$("#navigation > a")[0]; // HTMLAnchorElement
$("#navigation >a")[0].href; // "http://example.com/#"
$("#navigation >a")[0].toString(); // "http://example.com/#"
您应该使用
console.log
进行调试,而不是alert
。这是因为htmlanchoreElement
的toString
只返回href
属性
$("#navigation > a")[0]; // HTMLAnchorElement
$("#navigation >a")[0].href; // "http://example.com/#"
$("#navigation >a")[0].toString(); // "http://example.com/#"
alert
仅将字符串作为参数,因此会自动对元素调用toString
,您最终会看到href
属性
$("#navigation > a")[0]; // HTMLAnchorElement
$("#navigation >a")[0].href; // "http://example.com/#"
$("#navigation >a")[0].toString(); // "http://example.com/#"
您应该使用console.log
进行调试,而不是alert
。它的用处要大很多倍。试试这些
alert($("#navigation > a").first().text());
或
试试这些
alert($("#navigation > a").first().text());
或
方括号的意思不同,它访问匹配集中第一个对象的
HTMLElement
。你要找的是.eq
(特别是.eq(0)
),就像@Paulpro说的,alert
强制toString
参考:方括号表示不同的内容,它访问匹配集中第一个对象的
HTMLElement
。你要找的是.eq
(特别是.eq(0)
),就像@Paulpro说的,alert
强制toString
参考:@bohan,因为
.text
是一个jQuery函数,所以需要一个jQuery对象来使用它,而不是一个HtmlanchoreElement。以下两项都可以使用:$($(“#导航>a”)[0])。text(“…”)代码>这个更好:$(“#导航>a”).eq(0).text(“…”)
@bohan因为.text
是一个jQuery函数,所以需要一个jQuery对象来使用它,而不是一个HtmlanchoreElement。以下两项都可以使用:$($(“#导航>a”)[0])。text(“…”)这个更好:$(“#导航>a”).eq(0).text(“…”)
。