Javascript 在带有chrome扩展的html页面中添加类
我尝试用chrome扩展为Facebook页面上的一个元素添加一个类。不幸的是我的脚本不工作。。。我的目标是在提要中选择包含广告的帖子。所有POST容器看起来都很相似,唯一的区别是“赞助”标签,它是主容器的高度子级 script.js:Javascript 在带有chrome扩展的html页面中添加类,javascript,facebook,google-chrome,Javascript,Facebook,Google Chrome,我尝试用chrome扩展为Facebook页面上的一个元素添加一个类。不幸的是我的脚本不工作。。。我的目标是在提要中选择包含广告的帖子。所有POST容器看起来都很相似,唯一的区别是“赞助”标签,它是主容器的高度子级 script.js: var x = document.getElementsByClassName("uiStreamSponsoredLink").parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.
var x = document.getElementsByClassName("uiStreamSponsoredLink").parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode;
x.className += "otherclass";
舱单:
{
"name": "Project",
"version": "0.0.1",
"manifest_version": 2,
"default_locale": "en",
"icons": {
"16": "img/icon16.png",
"48": "img/icon48.png",
"128": "img/icon128.png"
},
"permissions": [
"*://*.facebook.com/*"
],
"content_scripts": [
{
"matches": [
"*://*.facebook.com/*"
],
"css": [
"content_script/replace-reactions.css"
],
"js": [
"content_script/script.js"
]
}
],
"web_accessible_resources": [
"img/*.png"
]
}
在script.js中添加以下内容:
比如说,
document.getElementsByTagName('body').attr('class','YOUR class NAME')
这里我为body标记设置了类名。您可以为页面中的任何元素设置此选项。但我只希望指向Facebook提要中包含外接程序的元素。我想我必须找到这个元素并为此添加一个特定的类,不是吗?这是在问题被问到之后的一段时间,但是如果你按照答案所说的做,你将删除该元素上的其他类。最好使用classList。请参阅和。您应该首先检查浏览器控制台是否有错误<例如,code>document.getElementsByClassName(“uiStreamSponsoredLink”).parentNode是完全错误的,因为getElementsByClassName返回一个节点列表,所以您需要单独访问该列表中的项目。您的意思是执行foreach?问题是当你滚动时facebook会更新html