我有一个脚本
var firstImg = row.getElementsByTagName('img')[0];
以后
if (x){ firstImg.src='/images/checked.png'; }
我想定义img应该是class='something'
(首先使用class ='something'获取img) 提前10倍!
答案 0 :(得分:31)
使用
querySelectorAll('img.classname')[0]
这将返回第一个图像,其中类设置为类名。但是jQuery更好!!
$('img.classname')
答案 1 :(得分:6)
设置它......
firstImg.className += "something";
...或...
firstImg.classList.add("something");
如果你不能支持旧的浏览器,那就可以了。
Further Reading(免责声明:链接到我自己的博客)。
如果您打算获取具有特定类名的元素,您可以使用...
document.getElementsByClassName("something");
...或...
document.querySelectorAll(".something");
请注意getElementsByClassName()
不在< = IE8。
你可以使用......
var getElementsByClassName(nodeList, className) {
var i, results = [];
for (i = 0; i < nodeList.length; i++) {
if ((" " + nodeList[i].className + " ").indexOf(" " + className + " ") > -1) {
results.push(nodeList[i]);
}
}
return results;
}
当然,如果你使用的是jQuery,它会非常简单......
$(".something");
答案 2 :(得分:1)
这会选择带有class ='something'的第一个img
:
var firstImg = $('img.something')[0];
答案 3 :(得分:1)
如果你不能丢弃旧的浏览器,那么你需要一个循环。
var imgs = row.getElementsByTagName('img'),
some_class = 'something',
i, first_img;
for (i = 0; i < imgs.length; i++) {
if ((' ' + imgs[i].className + ' ').indexOf(' ' + some_class + ' ') > -1) {
first_img = imgs[i];
break;
}
}