jQuery通过'查找图像;src&x27;属性-普通javascript
据我自己承认,我已经成为jQuery的一个相当有能力的用户,而对其背后的javascript知之甚少 就在最近,在权衡是否值得为相对较小的任务导入jQuery框架时,我试图找到一个折衷方案。作为一种学习练习,尝试至少思考一下没有jQuery如何实现它 我目前正在做一些jQuery不可用的事情。(大型组织,实践一成不变) 我可以使用jQuery的源代码来选择一个图像,但是有人能解释一下如何用纯javaScript来实现这一点吗jQuery通过'查找图像;src&x27;属性-普通javascript,javascript,jquery,Javascript,Jquery,据我自己承认,我已经成为jQuery的一个相当有能力的用户,而对其背后的javascript知之甚少 就在最近,在权衡是否值得为相对较小的任务导入jQuery框架时,我试图找到一个折衷方案。作为一种学习练习,尝试至少思考一下没有jQuery如何实现它 我目前正在做一些jQuery不可用的事情。(大型组织,实践一成不变) 我可以使用jQuery的源代码来选择一个图像,但是有人能解释一下如何用纯javaScript来实现这一点吗 $('img[src*="pic.gif"]').hide(); 非
$('img[src*="pic.gif"]').hide();
非常感谢
Gary只需选择页面上的所有图像,并使用regexp或string函数过滤它们的src:
var imgs = Array.prototype.slice.apply(document.getElementsByTagName('img')),
resultImgs = [];
for (var i = 0; i < imgs.length; i++) {
if (imgs[i].src.indexOf('img.gif') !== -1) {
resultImgs.push(imgs[i]);
}
}
var-imgs=Array.prototype.slice.apply(document.getElementsByTagName('img')),
结果Ms=[];
对于(变量i=0;i
注意Array.prototype.slice.apply
。它将getElementsByTagName
返回的HTMLCollection
转换为常规数组。这将使脚本速度提高数百倍。如下所示:
function findImagesByRegexp(regexp, parentNode) {
var images = Array.prototype.slice.call((parentNode || document).getElementsByTagName('img'));
var length = images.length;
var ret = [];
for(var i = 0; i < length; ++i) {
if(images[i].src.search(regexp) != -1) {
ret.push(images[i]);
}
}
return ret;
}
函数findImagesByRegexp(regexp,parentNode){
var images=Array.prototype.slice.call((parentNode | | document).getElementsByTagName('img');
var-length=images.length;
var-ret=[];
对于(变量i=0;i
var images=document.getElementsByTagName('IMG');
对于(变量i=0;i
我想你是想使用数组.原型.切片.应用
是的,修复了。谢谢现在效果很好。
var images = document.getElementsByTagName('IMG');
for (var i = 0; i < images.length; ++i) {
if (images[i].src == "pic.gif")
images[i].style.display = 'none';
}