原型:.previous作为对象?

时间:2010-02-18 05:59:58

标签: prototypejs

所以,这是交易,我正在尝试使用Element.previous来调用前一个元素作为对象......但它只是获取元素的文本。如何在不知道它的id是什么的情况下调用之前的对象?按类调用前一个元素,例如?

2 个答案:

答案 0 :(得分:0)

所以,我部分地想出了:$('1')。parentNode.previousSibling.firstChild调用前一个对象。

现在,如果在它们之间删除了一个对象,我就无法调用它来调用前一个对象。这是剧本。

<script src="lib/prototype.js" type="text/javascript"></script>

<script type="text/javascript">
function printBr(element, index, array) {
  document.write("<div class=\"row\">");
  document.write("<input type=\"text\" class=\"textfield\" onclick=\"$('a" + index + "').appear(); return false;\" id=\"" + index + "\" name=\"" + index + "\" value=\"" + element + "\"><br/>");
  if (index == 0) {}
  else {
    document.write("<div id=\"a" + index + "\" style=\"display:none;width:150px;height:25px;background-color:blue;\">");
    document.write("<a onmousedown=\"$('" + index + "').parentNode.previousSibling.firstChild.writeAttribute('value', $('" + index + "').parentNode.previousSibling.firstChild.value + $('" + index + "').value);$('" + index + "').remove();$('a" + index + "').hide(); return false;\"><< Move</a> | ");
    document.write("<a onmousedown=\"$('a" + index + "').hide(); return false;\">X</a></div>");
  }
  document.write("</div>");
}

['hello, world','123','bye bye birdy'].forEach(printBr);


</script>

答案 1 :(得分:0)

使用.previous与CSS选择器作为.previous的参数。例如.previous('span')。或者您正在寻找的这个元素可能不是真正的前一个元素。可能需要首先上升()。