让我解释一下
我有一个 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/