我在文档的不同部分有匹配的文本。第一个是表格中的一组“标签”,如下所示:
<div id="my-div">
<div><a href="#">tag 1</a></div>
<div><a href="#">tag 2</a></div>
</div>
然后在文档的其他几个部分中,当我想要突出显示匹配链接的项目之后,我有一个隐藏元素:
<div class="hide-me">tag 1</div>
然后我的点击功能是这样的:
$('#my-div a').click(function() {
var txt = $(this).text();
console.log(txt);
});
输出是一个空字符串,但我不确定原因。
答案 0 :(得分:66)
你的代码似乎是正确的,也试试这个。
$('#my-div a').click(function(e) {
var txt = $(e.target).text();
console.log(txt);
});
答案 1 :(得分:0)
在您的情况下,我不会使用链接的文本,因为它可能在将来发生变化(即您需要翻译您的网站)。更好的解决方案是向链接添加自定义属性:
<div id="my-div">
<div><a href="#" sectionId="someId1">tag 1</a></div>
<div><a href="#" sectionId="someId2">tag 2</a></div>
</div>
然后将隐藏标签的ID放在那里,这样你就可以了:
$('#my-div a').click(function() {
var sectionId = $(this).attr('sectionId');
$('#' + sectionId).show();
return false; // return false so the browser will not scroll your page
});
答案 2 :(得分:-2)
$('#my-div a')含糊不清。
它会读取'#my-div'
中的所有标签你需要指定点击两个标签中的哪一个..