让我解释一下
我有一个包含弹出窗口元素的DOM。 HTML看起来像:
<div class='editor'></div>
<div class='editor'></div>
我正在使用Chrome扩展程序,必须按类editor
查找所有元素,如果找不到某些文本,请添加它。
到目前为止,它正在发挥作用。 DIV包含textarea
。实际发生的事情是,如果一个人删除文本,它会再次添加。它正在发生,因为我正在使用计时器嗅探是否弹出新窗口。
无论如何我可以知道DIV中已经添加了某个文本吗?元素是否有一些内部ID?
PS:在我写这个问题的时候,我脑海中浮现出一个问题,就是我通过所有元素都有editor
类,并将唯一的ID指定为editor1,editor2..
我想知道还有其他方法吗?
由于
更新
使用带有类名editor
的jQuery sniff元素的Chrome扩展程序,如果找到或找到它们visible it inserts text, say
Hello World . If
Hello World already there, it does not end. So far it's working fine. Issue is what if user manually removed **Hello World**, the code which is running under
setinterval`块再次添加它。我不希望第二次添加,因为代码不应该在已经添加的元素中添加 Hello World 。
答案 0 :(得分:1)
当用户从div中删除文本(您的意思是textarea?)时,您可以使用自定义数据属性对其进行标记。
element.data('skip', true);
并在您的计时器中执行检查以跳过具有此数据属性的元素。
if (!element.data('skip'))
{
// do your thing
}
此处有更多信息:https://api.jquery.com/data/
答案 1 :(得分:1)
似乎没有任何浏览器内置该功能。您显然可以自己构建它使用我不想复制任何答案,所以我会留下这个链接: Unique identifier for HTML elements