不惑 发表于 2007-10-21 09:43

js有没类似对象组概念(就是与数组一样的,但内容是对象)的东东?

我有一批&lt;img&gt;要处理,它们都是有规律的,可以用循环来生成相应的src内容.<BR>同时我又要在特定的时候对它们src进行一些改变,所以我想使用类似:<BR>for (n=1;n&lt;100;n++)<BR>{<BR>  document.write('&lt;img name="img['+n+']" src="jpg'+n+'.jpg"&gt;')<BR>}<BR>生成img<BR>然后在需要改变src时用:<BR>for (n=1;n&lt;100;n++)<BR>{<BR>  k=n+1<BR>  img[n].src="jpg"+k+".jpg"<BR>}<BR>我的问题不是要达到什么样的效果,我只要问有没有这样的写法的?<BR>应该什么样写?

渚薰 发表于 2007-10-22 09:54

首先不要用document.write,而是使用dom方法插入img元素,要修改时,从img的父元素中获得所有img元素,可以这样写,例如<BR>var parentNode=document.getElementById('xxxx');    //获得需要插入img元素的父元素<BR>for (var i=0;i&lt;n;i++) {<BR>   var img=document.createElement('img');<BR>   img.src="xxxxxxxx";<BR>   parentNode.insertFirst(img);<BR>}<BR>//要改变时,就这样<BR>var imgList=parentNode.childNodes;<BR>for (var i=0;i&lt;imgList.length;i++) {<BR>    imgList[i].src='xxxxxxxx';<BR>}

不惑 发表于 2007-10-22 11:13

谢谢!

不惑 发表于 2007-10-22 14:47

<P>晕,javascript没有这个insertFirst的用法<br>我查了好多资料也没有它的用法,网上也找不到[em06]</P>
[align=right][color=#000066][此贴子已经被作者于2007-10-22 14:50:52编辑过][/color][/align]

不惑 发表于 2007-10-22 15:30

不过还是谢谢了,因为我可以用appendChild()

渚薰 发表于 2007-10-22 17:41

回复:(不惑)不过还是谢谢了,因为我可以用appendCh...

哦,sorry,我用其他库用多了,把api搞混了。

yms123 发表于 2007-10-22 21:49

<P>不过据我所知js可以自定义对象<BR>比如<BR>[CODE]&lt;html&gt;<BR>&lt;head&gt;<BR>&lt;script language="javascript"&gt;<BR>//定义javascript中的对象<BR>//注意这里并非function<BR>function ImgCls()<BR>{<BR>     this.width=0;<BR>     this.height=0;<BR>     this.src="";<BR>}</P>
<P>//循环创建对象数组<BR>function CycleObjAry()<BR>{<BR>    var imgAry=new Array(10);<BR>    for(var i=0;i&lt;10;i++)<BR>    {<BR>        var imgObj=new ImgCls();<BR>        imgObj.src="image"+i;<BR>        imgAry[i]=imgObj;<BR>    }<BR>    return imgAry;<BR>}</P>
<P>//显示对象数组的内容<BR>function Page_Load()<BR>{<BR>   var Main=document.getElementById("Main");<BR>   var tAry=CycleObjAry();<BR>   var reHtm="";<BR>   for(var i=0;i&lt;tAry.length;i++)<BR>       reHtm+=tAry[i].src+"|";<BR>   Main.innerHTML=reHtm;<BR>}<BR>&lt;/script&gt;<BR>&lt;/head&gt;<BR>&lt;body onLoad="Page_Load();" &gt;<BR>&lt;div id="Main"&gt;&lt;/div&gt;<BR>&lt;/body&gt;<BR>&lt;/html&gt;[/CODE]</P>

渚薰 发表于 2007-10-23 09:30

ls,你把这段src的值写入html有什么意义吗~~~<BR>它是要把img元素插入dom中。另外,image本身有内置对象,就是Image,所以没必要自己来定义对象。<BR>呵呵,另外,yms123,还记得我不???多年不见,幸会幸会啊,呵呵

yms123 发表于 2007-10-23 23:02

<DIV class=quote><B>以下是引用<U>渚薰</U>在2007-10-23 9:30:30的发言:</B><BR>ls,你把这段src的值写入html有什么意义吗~~~<BR>它是要把img元素插入dom中。另外,image本身有内置对象,就是Image,所以没必要自己来定义对象。<BR>呵呵,另外,yms123,还记得我不???多年不见,幸会幸会啊,呵呵</DIV>
<P>举个例子而已,我当然知道image是内置对象。当然记得,很久以前你就在ASP版块了,好长时间看不到你发帖子了。</P>

页: [1]

编程论坛