javascript - 如何使用jquery获取元素的同级文本

标签 javascript jquery html text click

我有ul列表,在每个li中我有2个span和一个a标签链接和一个李的文字:

<li>
    <span>first name 1</span>
    <a>//icon to be selected</a>
    <span>last name 1</span>email address 1
</li>
<li>
    <span>first name 2</span>
    <a>//icon to be selected</a>
    <span>last name 2</span>email address 2
</li>
<!-- 
    multiple li 
-->
<li>
    <span>first name n</span>
    <a>//icon to be selected</a>
    <span>last name n</span>email address n
</li>

现在,如果用户在每个 li 标记中选择一个链接,通过 jquery,我想获取 名字电子邮件地址 文本。如果能得到答复,我将不胜感激。

最佳答案

使用jquery prev()next()选择器查找目标跨度并使用 nextSibling属性来查找跨度的同级文本。

$("a").click(function(){
    var name = $(this).prev().text();
    var email = $(this).next()[0].nextSibling.nodeValue.trim();
    console.log(name);
    console.log(email);
});
a {
    color: red;
    cursor: pointer
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<li>
    <span>first name 1</span>
    <a>//icon to be selected</a>
    <span>last name 1</span>
    email address 1
</li>
<li>
    <span>first name 2</span>
    <a>//icon to be selected</a>
    <span>last name 2</span>
    email address 2
</li>
<li>
    <span>first name n</span>
    <a>//icon to be selected</a>
    <span>last name n</span>
    email address n
</li>

关于javascript - 如何使用jquery获取元素的同级文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38284512/

相关文章:

javascript - DIV 中文本的垂直滚动(循环)

javascript - 如何阻止我的汉堡包菜单在点击时将我跳到页面顶部。

jquery - 我应该如何组合 $(document).ready 语句?

javascript - 使用一个属性连接对象数组

javascript - 使用 jQuery 使用数据属性对元素进行排序

html - 在 HTML 中禁用样式 <select>(下拉框)

html - 如何修复连续的连字符没有终止评论错误?

javascript - 有没有办法通过firebug和chrome检测用户是否隐藏了div?

javascript - 422 错误 Laravel ajax 表单在 Microsoft Edge 上发布

javascript - CKeditor 内联工具栏下拉菜单上的按键事件