使用JQuery选择Element By Content

And*_*w M 3 javascript jquery javascript-events

我目前正在构建一个需要通过其内容识别元素的应用程序.通常我会使用元素的ID来识别它,但在这种情况下,由于内容是用户生成的,因此不可能.

我有一个PHP脚本输出一些内容,其中一部分是用户输入的.例如:

<!-- elementid1 -->
This is user generated text. Lorem ipsum...
Run Code Online (Sandbox Code Playgroud)

我需要能够识别此元素并在点击时触发事件.一旦点击发生,我应该能够轻松地从内容中解析ID(elementid1).

但是,这些元素并不总是DIV.有时它们是H1到H6等.我将如何检测这些事件

要么

或者,我可以遍历所有元素(我不知道该怎么做),使用ID设置自定义属性,然后为属性等于某事的元素创建JQuery事件.如果有人知道如何遍历每个DOM元素(最好只有孩子,因为父母也会有子女的内容......),那么这也可行.

一张纸条:

通常我会使用contains()选择器,但由于这个ID是注释而不是文本,所以它似乎不起作用.

ale*_*lex 8

试试这个...

$('*').filter(function() {
   return $(this).html().match('<!-- elementid1 -->');
});
Run Code Online (Sandbox Code Playgroud)

jsFiddle.