javascript - Jquery:有没有办法识别元素的唯一性?

标签 javascript jquery google-chrome-extension

让我解释一下

我有一个 DOM,其中包含弹出窗口的元素。 HTML 看起来像:

<div class='editor'></div>
<div class='editor'></div>

我正在开发 Chrome 扩展程序,它必须按 editor 类查找所有元素,如果找不到某些文本,请添加它。

到目前为止,一切正常。 DIV 包含一个textarea。如果一个人删除了文本,实际上会发生什么,它会被再次添加。发生这种情况是因为我正在使用计时器嗅探是否弹出新窗口。

我是否可以发现某个文本已添加到 DIV 中?元素是否有一些内部 ID?

PS:当我写这个问题时,我想到了一件事,我遍历了所有具有 editor 类的元素,并将唯一的 ID 分配为 editor1,editor2..

请问还有其他方法吗?

谢谢

更新

带有类名 editor 的 jQuery 嗅探元素的 Chrome 扩展,如果找到或发现它们可见,则会插入文本,例如Hello World。如果Hello World已经存在,则它不会结束。到目前为止一切正常。问题是,如果用户手动删除 **Hello World**,在 setinterval` block 下运行的代码会再次添加它。我不想要第二次添加,因为代码不应在已添加的元素中添加 Hello World

最佳答案

当用户从 div 中删除文本(您指的是文本区域?)时,您可以使用自定义数据属性来标记它。

element.data('skip', true);

并在计时器中执行检查以跳过具有此数据属性的元素。

if (!element.data('skip'))
{
    // do your thing
}

更多信息请点击:https://api.jquery.com/data/

关于javascript - Jquery:有没有办法识别元素的唯一性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37064346/

相关文章:

javascript - 有没有一种声明性的方式来设置 jqGrid 标签的 css 类?

javascript - 如何通过 JavaScript 重新加载我的 chrome 扩展?

google-chrome-extension - 为什么对于 MacOS 上的 Greasemonkey/Tampermonkey 上的本地脚本,@require 总是给我错误“"couldn' t load @require from禁止的 URL”

javascript - 在node js中获取表单数据:undefined error while submitting form

javascript - Date.getDay() 返回不同的值

javascript - Materialize CSS 错误标签

jquery - 如何使用 jQuery 获取 div 的当前类?

javascript - 使用 jQuery 焦点和模糊来显示和隐藏消息

jQuery 同位素用过滤结果初始化

google-chrome - Chrome 扩展程序访问 header 信息