我有以下html结构,并希望在被起诉的地方使用jQuery插入div
。
<div class="item" data-url-id="intro">
<div class="title-wrapper">
...
</div>
<!-- want to insert the element here -->
<div class="content-wrapper">
...
</div>
</div>
我正在使用此代码:
$( "div[class='item'][data-url-id='intro'] > div[class='title-wrapper']" ).after( "<div class='...'>...</div>");
基本上,'inside'div
没有id,因此必须由class识别。
我认为上面的意思是“在div
类'title-wrapper'之后插入一个元素,它是div
的子级,其类为'item'且属性为' data-url-id'的值是'intro'“。
非常感谢任何想法!
此致
西风
答案 0 :(得分:1)
jquery选择器可以简化一点:
$('.item[data-url-id=intro] > .title-wrapper').after('<div>Inserted Element</div>');
这是一个有效的工作人员: http://jsfiddle.net/2ys5j0ac/
答案 1 :(得分:1)
使用after函数是正确的,但您不需要指定这么多的选择器。你也可以使用点&#39;。&#39; operator作为类选择器。对于你的情况,它可以是:
$(".title-wrapper").after( "<div class='...'>...</div>");
但是如果您希望另一个div类 title-wrapper 哪个不想插入div,则可以将其写为。
$(".item > .title-wrapper").after( "<div class='...'>...</div>");
答案 2 :(得分:0)
如果title-wrapper
是此类的唯一div,您可以尝试以下代码:
$( ".title-wrapper" ).after( "<div>new div</div>" );
或者你可以试试这个:
$( "div[class='item'][data-url-id='intro'] > div[class='title-wrapper']" ).after( "<div>new div</div>");