我目前正在构建一个需要通过内容识别元素的应用程序。通常我会使用元素的 ID 来标识它,但在这种情况下这是不可能的,因为内容是用户生成的。
我有一个 PHP 脚本输出一些内容,其中一部分是用户输入的。例如:
<!-- elementid1 -->
This is user generated text. Lorem ipsum...
我需要能够识别此元素并在点击时触发事件。单击发生后,我应该能够轻松地从内容中解析 ID (elementid1)。
但是,这些元素并不总是只是 DIV。有时它们是 H1 到 H6 等。我将如何检测这些事件
或
或者,我可以遍历所有元素(我不知道该怎么做的部分),使用 ID 设置自定义属性,然后为属性等于某物的元素创建 jQuery 事件。如果有人知道如何循环遍历每个 DOM 元素(最好只有子元素,因为父元素也会有子元素的内容......)那么这也行得通。
注意事项:
通常我会使用 contains()
选择器,但由于此 ID 是注释而不是文本,因此它似乎不起作用。
最佳答案
试试这个...
$('*').filter(function() {
return $(this).html().match('<!-- elementid1 -->');
});
jsFiddle .
关于javascript - 使用 jQuery 按内容选择元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5074786/