javascript - 在不同的 div 中选择名称相似的元素?

标签 javascript jquery jquery-selectors naming-conventions

假设我的页面中有以下 div:

<div id="person_1">
  Name: <span>Bob</span> <br>
  Gender: <span>Male</span>
</div>

<div id="person_2">
  Name: <span>Sally</span> <br>
  Gender: <span>Female</span>
</div>

如果我想更新第 1 个人的姓名或性别,我想不出任何方法来选择该跨度,除非我将跨度更改为:

<span id="person_1_name">Bob</span>
<span id="person_1_gender">Male</span>

和:

<span id="person_2_name">Sally</span>
<span id="person_2_gender">Female</span>

然后我可以这样做:$("#person_1_name").html(bob.newName);。但是,这非常丑陋,不是我的偏好。

有没有办法做这样的事情?

$("#person_1 name").html(bob.newName);
$("#person_1 age").html(bob.newAge);

$("#person_2 name").html(sally.newName);
$("#person_2 age").html(sally.newAge);

最佳答案

为什么不使用:

<div id="person_1">
  Name: <span class="name">Bob</span> <br>
  Gender: <span class="gender">Male</span>
</div>

那么为 person 1 选择名字的 jquery 将是

$('#person_1 .name').text();

fiddle 示例:http://jsfiddle.net/zSqjV/1/

否则,如果您不想更改 HTML 并且您知道名称将始终是 div 中的第一个 span 而性别将始终是 div 中的最后一个 span,您可以使用此:

var person1_name = $('#person_1 span:first').text();
var person1_gender = $('#person_1 span:last').text();

关于javascript - 在不同的 div 中选择名称相似的元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5687541/

相关文章:

php - 未终止的字符串文字

javascript - 如何关闭 Kendo 下拉列表的缓存

javascript - 如何让 event.preventDefault 在动态函数上工作

javascript - JQuery 下一个选择器或类似的东西

javascript - 有没有办法在 Javascript 中自定义/覆盖赋值运算符?

javascript - 如何将多个(未知数量)对象(作为参数)传递给函数 - Java 脚本

javascript - Facebook Like 按钮虽然位于隐藏的 div 中,但仍然可见

javascript - jquery中添加/删除类的问题

jQuery - 选择给定行的第一个单元格?

javascript - 如何对这段代码进行单元测试