javascript - 使用 .text() 抓取父文本

标签 javascript jquery

我在从 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/

相关文章:

javascript - 如何找到一个html元素然后删除它?

javascript - 如何在 javascript 中使用正则表达式匹配并返回零?

javascript - 为什么动态更改复选框不会触发表单更改事件?

javascript - 如何给函数添加延迟

javascript - 如何转到下一个未禁用的输入文本,避免中间的输入文本?

javascript 正则表达式在匹配之前检查字符但不将其包含在结果中

javascript - 如果 Controller 失败,如何在 View 中显示错误? ASP.NET MVC

javascript - 悬停在 ul 子元素上效果 ul after style

javascript - MVC 中的 Kendo UI 网格页面大小

javascript - DataTables (API) - 清除数据并将其读取到表中