如何将某些内容添加为ID为nth child
'selected_panel'
div
到label
的任何内容
span
或他们可能是// This looks only for children with type ''div''
$("#selected_panel div:nth-child(1)")
。即:我不知道哪些类型的HTML元素将成为孩子,所以我不能真正使用以下内容:
{{1}}
答案 0 :(得分:1)
你可以试试这个:
<强> JS:强>
$(document).ready(function () {
var e = $('<div>New Child</div>'); //New child to be added
var c = $('#selected_panel').children(); //gets the children of div
if (c.length) { //if there are children inside the div
var l = c.length;
$('#selected_panel>*:nth-child(' + l + ')').after(e);
} else { //if there is no child
$('#selected_panel').append(e);
}
});
您可以根据要添加新孩子的位置更改l
的值。
示例HTML:
<div id="selected_panel">
<div>AADsd</div>
<div>AADssdd</div>
<div>asdfAADsd</div>
<div>AADssdd</div>
<div>AADsdsd</div> <span>sdfsadfsa</span>
<span>sert3dfsadfsa</span>
<span>s457647dfsadfsa</span>
<p>er</p>
</div>
答案 1 :(得分:1)
如果至少有nth
元素,这将插入一个元素作为n-1
子元素,否则它将在最后插入。
var n = 7;
var len = $("#selected_panel").children().length;
var index = (len >= n) ? n-1 : len;
$("#selected_panel").find(':nth-child(' + index + ')').after($('<div>bar</div>'));
答案 2 :(得分:1)
你可以使用&#39;:nth-child(1)`没有任何标签。
$("#selected_panel :nth-child(1)")
答案 3 :(得分:1)
创建插件:
$.fn.nthorfirst = function (path, i) {
var elems = this.find(path);
if (elems.length > i) return elems.eq(i);
else return this;
}
$('#selected_panel').nthorfirst('> *', 2).before("<div> Done! </div>");
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div id="selected_panel">
<p>Lorem</p>
<div>Lipsum</div>
<a href="#"> Dolor </a>
</div>
&#13;