用户脚本删除Html-Lines,类和属性

时间:2014-07-12 14:03:14

标签: javascript jquery html userscripts removeclass

我想创建一个简短的用户因为我讨厌这个恼人的黄色表情!

有两条html线将正常的笑脸(:)变成黄色图标

 <span class="emoticon_text" aria-hidden="true"> :) </span>

 <span title=":)" class="emoticon emoticon_smile"></span>

所以,在第一行我必须删除 aria-hidden

在第二行中,它可以是 class =“emoticon emoticon_smile”,但也可以像 class =“emoticon emoticon_cool”

我尝试过:

document.getElementsByClassName("emoticon_ text").removeAttribute("aria-hidden"); document.getElementsByClassName("emoticon_ text").className = "";

但它失败了,所以我希望你们能帮助我,因为我的Javescript / jQuery技能很糟糕。

谢谢

对不起我的语法错误

2 个答案:

答案 0 :(得分:0)

document.getElementsByClassName返回一个HTMLCollection,它基本上是匹配的元素数组。您必须遍历该集合并为匹配的每个元素运行代码。

其次,您需要找到表情符号并将其删除,因为您需要获取每个表情符号的父级并告诉它删除该元素。最后,您的代码将类似于:

//Finds all emoticon texts
var emoticonTexts = document.getElementsByClassName("emoticon_text");

//Iterate over the results and remove the desired attributes
for (var i = emoticonTexts.length-1; i >= 0; i -= 1) {
    var element = emoticonTexts[i];
    element.removeAttribute("aria-hidden");
    element.className = "";
}

//Find all emoticon images
var emoticons = document.getElementsByClassName("emoticon");

//Iterate over the results and remove them from the page
for (var i = emoticons.length-1; i >= 0; i -= 1) {
    var element = emoticons[i];
    element.parentNode.removeChild(element);
}

Also available as an example on JSFiddle

答案 1 :(得分:0)

我会研究使用jQuery。一旦你在项目中引用了jQuery库,你的解决方案就应该简单:

$(&#34; .emoticon_text&#34)。removeAttr(&#34;咏叹调隐藏&#34)。removeClass(&#34; emoticon_text&#34);