在unknodw div上添加div

时间:2013-12-10 11:27:26

标签: javascript jquery html dom

我有三个div。我应该如何将div添加到未知的div上?

<div class="main" >
 <div id="drag-box" >
  <div id="" class=""> </div>
 </div>
  </div>

我想在一个未知的div上追加div,这是在drag-box div之后。我不知道哪个div在拖拽div之后出现。但是在拖拽框div之后必须有一个div。

5 个答案:

答案 0 :(得分:1)

试试这个

  $("#drag-box div:first-child").attr("id");

答案 1 :(得分:1)

$("#drag-box div:first-child").append("<span />");

$("#drag-box div").first().prepend("<span>first</span>");

要获得完整答案,请点击此处:

http://jsfiddle.net/dMUD3/

答案 2 :(得分:1)

而不是给你一个单行,我想给你一个深思熟虑的解决方案。

浏览器接受你的html并从中解析出所谓的DOM树。

所以如果你的html是。

<div class="a">
   <div class="foo"></div>
   <button class="foogle"></button>
</div>

树结构将变成类似

的结构
 `-div.a
  |-div.foo
   `Button.foogle

您应该在MDN

中查看DOM Api

DOM如何帮助?

使用DOM api,您可以使用对已知div的引用来实际访问未知div。因此,如果您真正了解您的标记及其在DOM中的表示,那么引用元素的第n个子项应该非常简单;

您可以通过children属性访问子元素。

所以

 // Get reference to the element.
 var parent = document.getElementById("drag-box");

 // Use the dom.
 var child_i_want = parent.children[0];
 // or there is another way
 var child_i_reallyWant = parent.firstElementChild;

有jQuery的解决方案,但我觉得即使存在有用的抽象库,理解DOM的基础也很重要。

答案 3 :(得分:0)

你需要+选择器。它适用于直接跟随的对象。见here

.drag-box + div {

}

答案 4 :(得分:0)

$('<div></div>').appendTo($('#drag-box div:first'))