遍历DOM以传回图像

时间:2014-07-10 07:44:20

标签: javascript dom

好的,我想点击图片' .escape'并传回图像的来源' .myimg2'的onclick。 以下是我尝试这样做: 我知道它只是遍历DOM,但我不知道如何非常好地遍历DOM。 感谢任何启发。

<table class="table2">
    <tr>
        <td>
            <div class="info2" ondragstart="return false" ondragover="allowDrop(event)" ondrop="drop(event)" >
                <div  style="float:left">
                    <img class="myimg2" style="max-height:80px;" src="Pictures/QuestionMark.png">
                </div>
                <div style="float:left;">
                    <p class="myname2">Name: Unspecified</p>
                    <p class="myprof2">Profession: Unspecified</p>
                </div>
                <img class="escape" onclick="returnDrop(this.parentNode.childNode[0].src)" style="max-height:8px;" src="Pictures/escape.png">
            </div>
        </td>
</tr>
</table>

2 个答案:

答案 0 :(得分:1)

this.parentNode.getElementsByClassName('myimg2')[0]

演示:http://jsfiddle.net/ENQFX/

答案 1 :(得分:0)

您正在谈论ID(#escape),但您正在使用类(.escape)。您应该将类​​属性切换为ID,因为它们是唯一的。在这里,我将使用该课程。您应该将其放在onclick=内的.escape属性中。

this.setAttribute('src',this.parentNode.getElementsByClassName('myimg2')[0].getAttribute('src'))

在这里,我们将src属性设置为.myimg2父元素内的第一个.escape类元素的属性。如果课程.myimg2中没有其他元素,您可以使用document.get...代替this.parentNode.get...

使用ID而不是类:

this.setAttribute('src',document.getElementById('myimg2').getAttribute('src'))

请注意,对于ID,您不必指定父节点,因为ID对于整个文档中的元素是唯一的。