我有以下模型(这里是一个jsbin:http://jsbin.com/vadutezaci/1/edit?html,css,output ):
<div class='jt-header'>a header 1</div>
<div class='jt-detail'>a detail 1
<div class='jt-item-price'>12.34</div>
</div>
<div class='jt-header'>another header 2<div class='jt-item-price'>34.45</div></div>
<div class='jt-detail'>another detail 2
</div>
Run Code Online (Sandbox Code Playgroud)
基本上,如果jt-item-price在jt-detail内,我想附加到前面的jt-header; 这是上面的第一个对联.如果它已经在jt-header内,请保持原样(第二个对联),以便上述内容变为:
<div class='jt-header'>a header <div class='jt-item-price'>12.34</div>
</div>
<div class='jt-detail'>a detail
</div>
<div class='jt-header'>another header<div class='jt-item-price'>34.45</div></div>
<div class='jt-detail'>another detail
</div>
Run Code Online (Sandbox Code Playgroud)
我该怎么做?我会认为detach().appendTo()但我如何检测到jt-item-price在一个细节内?我如何将它告诉前面的jt-header(可能有介入的非jt-header元素) ?
谢谢
一个更现实的例子似乎打破了使用next():
<div class='jt-row'>
<div class='jt-header'>a header 1</div>
</div>
<div class='jt-row'>
<div class='jt-detail'>a detail 1
<div class='jt-item-price'>12.34</div>
</div>
</div>
<div class='jt-row'>
<div class='jt-header'>another header 2<div class='jt-item-price'>34.45</div></div>
</div>
<div class='jt-row'>
<div class='jt-detail'>another detail 2
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
Jquery append()接受一个函数,你可以使用以下逻辑:
$('.jt-header').append(function(){
return $(this).next('.jt-detail').children('.jt-item-price');
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
220 次 |
| 最近记录: |