js高手帮忙~~~怎么控制指定class的div内容
我要将所有class为entry的div的图片替换成在新窗口打开应该怎么修改呢,我的不能运行,求高手看看~<divclass="entry"><imgsrc="aaa.j...
我要将所有class为entry的div的图片替换成在新窗口打开应该怎么修改呢,我的不能运行,求高手看看~
<div class="entry"><img src="aaa.jpg"></div>
<div class="entry"><img src="aaa.jpg"></div>
<script language="javascript">
//获得标签名为tagName,类名className的元素的所有内容作为数组输出
function getClass(tagName,className)
{
if(document.getElementsByClassName) //支持这个函数
{ return document.getElementsByClassName(className);
}
else
{ var tags=document.getElementsByTagName(tagName);//获取标签
var tagArr=[];//用于返回类名为className的元素
for(var i=0;i < tags.length; i++)
{
if(tags[i].class == className)
{
tagArr[tagArr.length] = tags[i];//保存满足条件的元素
}
}
return tagArr;
}
}
</script>
<script>
var content = getClass('div','entry');
for(var i=0;i < content.length; i++)
{
if (content[i].innerHTML.length!==0){
//估计是这里错了
var images=content[i].innerHTML.getElementsByTagName("img");
var imgLen=images.length;
for(var i=0;i<imgLen;i++){
images[i].onclick=function(){window.open(this.src,"n")}
images[i].title="点击查看大图"+images[i].title;
images[i].style.cursor="pointer";
}
}
}
</script> 展开
<div class="entry"><img src="aaa.jpg"></div>
<div class="entry"><img src="aaa.jpg"></div>
<script language="javascript">
//获得标签名为tagName,类名className的元素的所有内容作为数组输出
function getClass(tagName,className)
{
if(document.getElementsByClassName) //支持这个函数
{ return document.getElementsByClassName(className);
}
else
{ var tags=document.getElementsByTagName(tagName);//获取标签
var tagArr=[];//用于返回类名为className的元素
for(var i=0;i < tags.length; i++)
{
if(tags[i].class == className)
{
tagArr[tagArr.length] = tags[i];//保存满足条件的元素
}
}
return tagArr;
}
}
</script>
<script>
var content = getClass('div','entry');
for(var i=0;i < content.length; i++)
{
if (content[i].innerHTML.length!==0){
//估计是这里错了
var images=content[i].innerHTML.getElementsByTagName("img");
var imgLen=images.length;
for(var i=0;i<imgLen;i++){
images[i].onclick=function(){window.open(this.src,"n")}
images[i].title="点击查看大图"+images[i].title;
images[i].style.cursor="pointer";
}
}
}
</script> 展开
1个回答
展开全部
for(var i=0;i < content.length; i++)
for(var i=0;i<imgLen;i++)
你写代码时很穷嘛..
都不舍得多开一个循环变量
请记住, 这是Javascript不是别的, {代码块}是没有块作用域的(当然, ECMA6有了
var images=content[i].innerHTML.getElementsByTagName("img");
innerHTML是什麼?
是个字符串啊..
字符串为什麼会有gEBTN方法...
有gEBTN方法的是DOM对象啊..
for(var i=0;i<imgLen;i++)
你写代码时很穷嘛..
都不舍得多开一个循环变量
请记住, 这是Javascript不是别的, {代码块}是没有块作用域的(当然, ECMA6有了
var images=content[i].innerHTML.getElementsByTagName("img");
innerHTML是什麼?
是个字符串啊..
字符串为什麼会有gEBTN方法...
有gEBTN方法的是DOM对象啊..
追问
大神你好,我是初学js还不太懂。。。
现在已经被搞晕了,不知道咋改
如果可以麻烦你把改好的告诉我,我给你加到满分,谢谢!
追答
被搞晕了可以使用文本比较进行理解
http://wenbenbijiao.renrensousuo.com/
var content = getClass('div','entry');
for(var i=0;i < content.length; i++)
{
if (content[i].innerHTML.length!==0){
//估计是这里错了
var images=content[i].getElementsByTagName("img");
var imgLen=images.length;
for(var j=0;j<imgLen;j++){
images[j].onclick=function(){window.open(this.src,"n")}
images[j].title="点击查看大图"+images[j].title;
images[j].style.cursor="pointer";
}
}
}
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询