当没有唯一标识属性但有 HTML 注释时,如何使用 jQuery 选择 HTML?
我正在为我经常访问的论坛编写自定义脚本。它的设计目的是当我查看板上的签名时将其从板上删除,因为它们会分散注意力并且令人厌烦,并且无法在选项中禁用它们。
无论如何,我可以使用有用的 Chrome 扩展程序运行自定义脚本。我能够修改页面的任何部分,其中 HTML 节点具有类、ID,甚至具有一些唯一信息的属性,但我似乎无法弄清楚如何使用 jQuery 选择和删除以下 HTML。
<tr>
<td colspan="2">
<!--Signature-->
<div class="resultText">
<!-- sig -->
<div>Signature text</div>
<!-- / sig -->
</div>
</td>
</tr>
如果有一种方法可以获取 的父级,那将是完美的,但我不确定这是否可能。
有一个 resultText
类,但该类在用户输入文本的任何地方使用,而不仅仅是在签名中。所以我无法抓住这一点。
I am writing a custom script for a forum I frequently visit. It is designed to remove signatures from the board when I view it because they are distracting and annoying and they have no way to disable them in the options.
Anyway, I can run custom scripts using a helpful Chrome extension. I am able to modify any portions of the page where HTML nodes have classes, IDs, or even attributes with a little bit of unique information, but I can't seem to figure out how to select and remove the following HTML with jQuery.
<tr>
<td colspan="2">
<!--Signature-->
<div class="resultText">
<!-- sig -->
<div>Signature text</div>
<!-- / sig -->
</div>
</td>
</tr>
If there was a way I could grab the parent of <!--Signature-->
that would be perfect but I'm not sure that's even possible.
There is one class resultText
but that class is used wherever there is text entered by the user, not just in the signature. So I can't grab onto that.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
即使
resultText
类在其他地方使用,我仍然建议使用类选择器作为起点,否则您将在整个文档中查找注释节点。从匹配的元素中,您可以获取其父级的 contents(),使用 filter() 来隔离注释节点(它们的 nodeType 属性是相等的到
8
)并将这些节点的值与您的值进行比较签名
字符串:Even if the
resultText
class is used elsewhere, I'd still recommend using a class selector as a starting point, otherwise you will be looking for comment nodes in the entire document.From the matched elements, you can get their parents' contents(), use filter() to isolate the comment nodes (their nodeType property is equal to
8
) and compare the value of these nodes to yourSignature
string:您可以使用
.contents()
获取元素的所有子节点: http:// /api.jquery.com/contents来自文档:
这是一个演示: http://jsfiddle.net/NLhz9/1/
You can use
.contents()
to get all the child nodes of an element: http://api.jquery.com/contentsFrom the docs:
Here is a demo: http://jsfiddle.net/NLhz9/1/
由于该脚本基本上只适合您,因此请使用 xpath 查找注释。
尝试这样的事情:
Since the script is basically just for you, use xpath to find the comments.
Try something like this: