Javascript 用于删除Html行、类和属性的Userscript

Javascript 用于删除Html行、类和属性的Userscript,javascript,jquery,html,userscripts,removeclass,Javascript,Jquery,Html,Userscripts,Removeclass,我想创建一个简短的用户脚本,因为我讨厌这个讨厌的黄色笑脸 有两行html代码将普通的笑脸(:))变成黄色图标 <span class="emoticon_text" aria-hidden="true"> :) </span> <span title=":)" class="emoticon emoticon_smile"></span> :) 因此,在第一行中,我必须删除隐藏的类和aria 在第二行中,可以是class=“emotico

我想创建一个简短的用户脚本,因为我讨厌这个讨厌的黄色笑脸

有两行html代码将普通的笑脸(:))变成黄色图标

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

 <span title=":)" class="emoticon emoticon_smile"></span>
:)
因此,在第一行中,我必须删除隐藏的类和aria

在第二行中,可以是class=“emoticon emoticon\u smile”,也可以是class=“emoticon emoticon\u cool”

我试过:


document.getElementsByClassName(“表情文字”).removeAttribute(“aria隐藏”)
document.getElementsByClassName(“表情文字”).className=“”

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

多谢各位


很抱歉我的语法错误

文档。GetElementsByCassName
返回一个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);
}

我将研究如何使用jQuery。一旦在项目中引用了jQuery库,您的解决方案应该非常简单:

$(".emoticon_text").removeAttr("aria-hidden").removeClass("emoticon_text");

你的类名上有一个空格…它只在这里,不在用户脚本中,对不起