我在从 DOM 获取文本“Vegetable”时遇到问题
<div class="input-group">
<ul>
<li>
<span class="input-checkbox">
<input type="checkbox" aria-label="...">
</span>
Vegetable
</li>
</ul>
</div>
目前,当我选中复选框以获取列表元素的文本时,我有一个事件处理程序,但我所做的不起作用:$(e.target).parent()。文本()
。我的想法是,我的目标是“input-checkbox”,所以我需要获取父级,然后抓取它的文本。这是正确的方法还是我的 jQuery 有问题?
事件代码:
Template.produceList.events({
'click .input-checkbox': function(e) {
e.preventDefault();
console.log('clicked on filter');
var text = $(e.target).parent().text();
return;
}
});
最佳答案
您需要上两级,因为“input”位于“span”内,而“span”又位于“li”内,而文本“Vegetable”位于“li”内。
$(e.target).parent().parent().text()
我在这里创建了一个示例(它是对您的代码进行了一些修改的形式): https://jsfiddle.net/x5yb2m30/
另一种方法是使用parents()并查找li标签:
$(e.target).parents("li").text()
关于javascript - 使用 .text() 抓取父文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32021404/