2016-11-04 36 views
-1

我尝试使用扩展名为Chrome的Facebook页面上的元素添加一个类。不幸的是,我的脚本无法正常工作......我的目标是选择包含Feed中广告的帖子。所有的帖子容器看起来都是相似的,唯一的区别是“赞助”标签,它是主容器的高度子标签。使用Chrome扩展在HTML页面中添加类

的script.js:

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" 
    ] 
} 
+0

您应该首先检查浏览器控制台是否有错误。 'document.getElementsByClassName(“uiStreamSponsoredLink”)。例如,parentNode'确实是错误的,因为getElementsByClassName返回一个NodeList,所以您需要单独访问该列表上的项目。 – CBroe

+0

你的意思是做一个foreach?问题是,当你滚动 – AlphaNico

回答

0

在的script.js添加此,

例如,

document.getElementsByTagName( '主体') .attr('class','YOUR CLASS NAME');

这里我设置了body标签的类名。您可以将其设置为页面中的任何元素。

+0

时,facebook会更新HTML但我只想指出在Facebook feed中包含添加项的元素。我想我必须找到这个元素并为它添加一个特定的类,不是吗? – AlphaNico

+0

是的你是对的 –

相关问题