在谷歌浏览器上,我想截取一些html标签的属性,如果属性有一定的值就做一个动作。例如,假设我有一个列表项,它有一个名为 user 的属性:
<li class="MyClass" user="BadUser"> ... </li>
我想要的是使这个项目的内容不可见,删除它,无论如何。
我是这些扩展的新手(我在这个小时内开始看它们)
我怎样才能做到这一点?
在谷歌浏览器上,我想截取一些html标签的属性,如果属性有一定的值就做一个动作。例如,假设我有一个列表项,它有一个名为 user 的属性:
<li class="MyClass" user="BadUser"> ... </li>
我想要的是使这个项目的内容不可见,删除它,无论如何。
我是这些扩展的新手(我在这个小时内开始看它们)
我怎样才能做到这一点?
您可以为此目的使用内容脚本。在清单文件中声明脚本(myscript.js
在下面的示例中):
{
"name": "Extension name",
...
"content_scripts":
[
{
"matches": ["*://*/*"],
"js": ["jquery.js", "myscript.js"]
}
],
...
}
然后在myscript.js
编写所需的代码中,像这样(使用 jQuery,它也作为内容脚本注入):
$('[user]').each(function()
{
$(this).removeAttr("user");
});
这是为了删除属性本身。当然,您可以删除整个元素调用remove()
而不是removeAttr()
.
在您的内容脚本中:
要从 DOM 中删除,请使用此
$('[my_tag]').remove();
要使用每个元素,您可以使用它:
$.each($('[my_tag]'), function(index, element) {
console.log(index + ': ' + element);
});