我有一个javascript函数(函数toggleTree(theRow)),其中行从onclick表中的单元格传递给此函数。
<tr class="rowWhite"><td style="text-align:center"><img class="expand" alt="" src="images/plus.jpg"onclick="toggleTree(this.parentNode.parentNode);" />
切换树功能如下。
function toggleTree(theRow)
{
var imgEl = theRow.cells[0].firstChild;
if (theRow.cells[0].firstChild.className == "expand")
{
theRow.cells[0].firstChild.className="collapse";
theRow.cells[0].firstChild.src="images/minus.jpg";
alert(theRow.cells[0].firstChild.className);
alert(theRow.cells[0].firstChild.src);
return "expand";
}
else
{
theRow.cells[0].firstChild.className="expand";
theRow.cells[0].firstChild.src="images/plus.jpg";
alert(theRow.cells[0].firstChild.className);
alert(theRow.cells[0].firstChild.src);
return "collapse";
}
}
在IE和Firefox中,theRow.cells [0] .firstChild.className和theRow.cells [0] .firstChild.src的值是不同的,因此,该功能在FF中不起作用,但它在IE中有效。如何从任何浏览器获取jsfunction中的值?
答案 0 :(得分:0)
您可能在IEp>以外的其他浏览器中获取文本节点
像
这样的东西window.onload=function() {
var expImg = document.querySelectorAll("img.expand"); // for example
console.log(expImg)
for (var i=0;i<expImg.length;i++) {
expImg[i].onclick=function() {
var exp = this.className == "expand";
this.className=exp?"collapse":"expand";
this.setAttribute("alt",this.className);
this.src=exp?"images/minus.jpg":"images/plus.jpg";
// here you can do something with the row
}
}
}