我想创建一个简短的用户脚本,因为我讨厌这个令人讨厌的黄色笑脸!
有两条html行,将正常的笑脸(:)变成黄色图标
<span class="emoticon_text" aria-hidden="true"> :) </span>
<span title=":)" class="emoticon emoticon_smile"></span>
所以,在第一行中,我必须删除class和aria-hidden
在第二行中,它可以是class =“ emoticon emoticon_smile”,也可以是class =“ emoticon emoticon_cool”
我尝试过:
[document.getElementsByClassName("emoticon_ text").removeAttribute("aria-hidden");
document.getElementsByClassName("emoticon_ text").className = "";
但是失败了,所以我希望你们能帮助我,因为我的Javescript / jQuery技能很差。。
谢谢
对不起我的语法错误
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);
}
我会考虑使用jQuery。一旦在项目中引用了jQuery库,您的解决方案就应该很简单:
$(".emoticon_text").removeAttr("aria-hidden").removeClass("emoticon_text");