javascript - 当元素具有子元素并使用 JQuery 时,如何仅更改 HTML 中的文本?

标签 javascript jquery html

对于以下代码:

<div myLable="a"><p><span style="color:#00aaFF">change me only 1</span></p></div>
<div myLable="b"><span style="color:#00aaFF">change me only 2</span></div>

如果我使用

$('div[myLable="a"]').text("change");
$('div[myLable="b"]').text("change");

那么里面的所有html代码都会改变,这不是我需要的。

请注意,有两个前提条件:

  1. 子元素中没有任何标签或 ID。
  2. 我们不知道子元素有多深,可以得出的结论是,要求更改最深的子元素的文本。
  3. 如果在解决方案中使用原始 JavaScript 会很好,但必须使用 $('div[myLable="a"]') 形式,因为父元素没有 id,只有用户-定义标签,所以我需要这个Jquery表单。

如何仅在这种情况下更改文本?

提前致谢,

最佳答案

您需要更改span内的文本。因此,请使用指向 span 的适当选择器:

$('div[myLable="a"] span').text("change");

关于javascript - 当元素具有子元素并使用 JQuery 时,如何仅更改 HTML 中的文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10492712/

相关文章:

javascript - 取消绑定(bind)右键单击jquery

jquery - mCustomScrollbar 不起作用(垂直滚动),我的列鼠标滚轮非常非常慢

javascript - 在选择更改时动态禁用输入

html - 使用 asp.net 表单标记时的额外空间

javascript - 解释 emberjs 代码中的 App.Router.map

javascript - 当明显嵌入跨域时,谷歌地图小部件如何检测鼠标位置并在其 iframe 之外发布事件?

javascript - Jquery 不工作 - 不分离 li 的第一个元素并附加回来

jquery - 为什么 jQuery 自己完成标签

html - 在 css 圆中居中元素(由 ems 给出的宽度和高度)

javascript - 更新 FaunaDB 中的记录时,如何在不传入每个字段和子对象的情况下更新一个字段?