Javascript 使用JQuery按内容选择元素

Javascript 使用JQuery按内容选择元素,javascript,jquery,javascript-events,Javascript,Jquery,Javascript Events,我目前正在构建一个应用程序,它需要通过元素的内容来标识元素。通常我会使用元素的ID来标识它,但在这种情况下,这是不可能的,因为内容是用户生成的 我有一个PHP脚本,输出一些内容,其中一部分是用户输入的。例如: <!-- elementid1 --> This is user generated text. Lorem ipsum... 这是用户生成的文本。乱数假文。。。 我需要能够识别此元素并在单击时触发事件。一旦单击发生,我应该能够轻松地从内容中解析ID(elementid1

我目前正在构建一个应用程序,它需要通过元素的内容来标识元素。通常我会使用元素的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 -->');
});
$('*').filter(函数(){
返回$(this.html().match(“”);
});

.

您可以创建自定义选择器,该选择器将使用nodeType=COMMENT\u NODE(8)和特定内容搜索子项。。。但这是一段很长的时间