首页 > 解决方案 > jQuery | 选择超链接的元素文本 | text() 或 html() 方法似乎不起作用

问题描述

我有一个<a href=#>Title</a>链接,它是我想要选择的属性之间的文本<a href="#">,但无法使用任何一个text()html()jQuery 方法使其工作。

text()什么都不返回,而html()返回undefined

如何使用 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>

标签: javascriptjqueryhtml

解决方案


看起来您的选择器不正确

尝试 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 都很重要!


推荐阅读