javascript - 获取动态元素来更改文本

标签 javascript jquery

我的网页中有一个动态元素,当我单击图标时会出现这样的动态元素:

<span class="elasticbar-item text-right text-baseline">
      <button class="button primary" data-next-button="">MY TEXT</button>
</span>

但我想用新文本更改来自服务器(我无权访问)的默认文本。

我之前尝试过的表示为:

var buttonIntervalCheck = setInterval(function () {
  var button = $("[data-next-button]");

  if(button.length === 1) {
    button.text("NEW TEXT");
    clearInterval(buttonIntervalCheck);
  }
}, 1000);

Google Chrome 中的示例

enter image description here

第一个结果是当我点击我的图标时。 第二个结果是当我对按钮上的按钮(Ctrl+Shift+I)进行检查时。

而且我不明白到底是如何工作的。 我该如何修复它?

最佳答案

尝试在控制台上运行此命令:

$("[data-next-button]").text("NEW TEXT");

如果它工作正常,那么你的时机是错误的。您可能在 DOM 加载之前调用 button.text。尝试将代码包装在准备好的函数中:

$(function() {
  var buttonIntervalCheck = setInterval(function () {
  var button = $("[data-next-button]");

  if(button.length === 1) {
    button.text("NEW TEXT");
    clearInterval(buttonIntervalCheck);
  }
}, 1000);
});

关于javascript - 获取动态元素来更改文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50906041/

相关文章:

javascript - 删除音频文件之间的时间

javascript - angularjs 在服务中包含另一个模块

javascript - 为什么这个 Javascript 函数不起作用

javascript - 运行函数的 OR 条件

jquery - 如何只显示当前所选选项的图标?

javascript - KnockoutJS 必需/禁用属性未删除

jquery - addClass() 是异步的吗?

javascript - Node 脚本永远不会结束

javascript - 使用谷歌翻译的自定义按钮

javascript - jQuery onfocus 和 onblur 事件缩小