0
所以,我有一些JavaScript代码,我用Greasemonkey在本地测试。但是,我得到这个错误持续在Firefox的错误控制台:Javascript错误:catChildNotes [y] .setAttribute不是函数
catChildNotes [Y] .setAttribute不是一个功能
代码:
var i = prompt("How many videos have you got?", "");
function remove_mp4()
{
titleElems=document.getElementsByName("title");
for(i=0; i<titleElems.length; i++)
{
titleInner=titleElems[i].innerHTML;
titleElems[i].innerHTML=titleInner.replace(titleInner.match(".mp4"), "");
}
}
for (var x = 0; x < i; i++)
{
document.getElementsByName("description")[x].value = "Visit me on my web-site :\
\
http://www.sample.com/";
document.getElementsByName("keywords")[x].value = prompt("Enter keywords : ","");
catChildNodes=document.getElementsByName("category")[x].childNodes;
catChildNodes[x + 1].removeAttribute("selected");
for(y=0; y<catChildNodes.length; y++)
{
if(catChildNodes[y].value="27")
{
catChildNodes[y].setAttribute("selected","");
}
}
}
remove_mp4();
该脚本应该在YouTube上运行上传页面并执行以下操作:
- 从标题中删除“.mp4”
- 添加默认说明
- 添加关键字(这等于提示值)
- 更改类别为“教育”
的机会是'catChildNodes [Y]'是不是你认为它是和物业'setAttribute'被评估为'undefined'。 。那么* catChildNodes [y]'会评估什么?为什么? – 2012-08-07 23:03:05
你是什么意思?你能解释一下好吗? – TheGhost 2012-08-07 23:05:27
它评估在网页的HTML元素中命名proprety。 Name属性被设置为“category”,所以它找到它并得到它的值。它的索引是var x,因为x越来越多,所以如果我有10个视频,x会先是0,然后是9,将我的所有视频类别更改为“Education”。希望我解释得很好! :) – TheGhost 2012-08-07 23:09:00