我有一个<a href=#>Title</a>
链接,我想选择<a href="#">
属性之间的文本,但无法使用text()
或html()
jQuery方法使其工作。
text()
不返回任何内容,html()
返回未定义。
如何使用 jQuery 选择超链接属性中的文本?
var menu = jQuery(".section-items nav-sections-items > .section-item-title > a").html();
console.log(menu);
if (menu == "Title Here") {
console.log("Working");
}
var menu2 = jQuery(".section-items nav-sections-items > .section-item-title > a").text();
console.log(menu2);
if (menu2 == "Title Here") {
console.log("Working");
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script>
<div class="section-items nav-sections-items">
<div class="section-item-title">
<a href="#">Title Here</a>
</div>
</div>
看起来您的选择器不正确
尝试div.section-items.nav-sections-items > div > a
var menu = jQuery("div.section-items.nav-sections-items > div > a").html();
console.log(menu);
if (menu == "Title Here") {
console.log("Working");
}
var menu2 = jQuery("div.section-items.nav-sections-items > div > a").text();
console.log(menu2);
if (menu2 == "Title Here") {
console.log("Working");
}
对于那些想知道的人,我的代码已经> div > a
而不是> .section-item-title > a
在这种情况下,几乎没有区别 - 每个 kb 都很重要!
选择器错误。.section-items .nav-sections-items
选择在.section-items
下具有类.nav-sections-items
的元素。
在代码中,两个类位于同一元素上,因此应删除空格以表示具有两个类的同一元素。
请参阅下面的演示:
var menu = jQuery(".section-items.nav-sections-items > .section-item-title > a").html();
console.log(menu);
if (menu == "Title Here") {
console.log("Working");
}
var menu2 = jQuery(".section-items.nav-sections-items > .section-item-title > a").text();
console.log(menu2);
if (menu2 == "Title Here") {
console.log("Working");
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script>
<div class="section-items nav-sections-items">
<div class="section-item-title">
<a href="#">Title Here</a>
</div>
</div>
你选择元素的方式错误,应该使用.section-items.nav-sections-items
:
var menu = jQuery(".section-items.nav-sections-items > .section-item-title > a").html();
console.log(menu);
if (menu == "Title Here") {
console.log("Working");
}
var menu2 = jQuery(".section-items.nav-sections-items > .section-item-title > a").text();
console.log(menu2);
if (menu2 == "Title Here") {
console.log("Working");
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script>
<div class="section-items nav-sections-items">
<div class="section-item-title">
<a href="#">Title Here</a>
</div>
</div>