javascript - 使用 jQuery 按内容选择元素

标签 javascript jquery jquery-events

我目前正在构建一个需要通过内容识别元素的应用程序。通常我会使用元素的 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/

相关文章:

javascript - 如何在 submitHandler 回调中访问 Backbone View ?

javascript - 在 JavaScript/jQuery 而不是 jQuery UI 中匹配具有相似 ID (#thumb-1 == #project-1) 的两个 div 的位置

javascript - 使用 jQuery 在 div 中选择一个主体

javascript - 通过 html 标签实现 onclick 按钮的 js 功能

javascript - 单击按钮时重新加载页面

javascript - FUNCTIONS 的继承正在成为一场噩梦

javascript - 来自父指令的 Angular 调用指令函数

javascript - 在 Angularjs 的 Protractor 测试中选择单选选项

Javascript 树无法正常工作

javascript - 如何使用 JavaScript/jQuery 编写 onshow 事件?