我有div列表,我想要删除的是<div class="lol">999</div>
,并将其替换为<div class="lol">111</div>
。
我知道如何获取两者的数据平方。我尝试使用$(this).removeClass('column div');
,但效果不佳。
访问http://jsfiddle.net/jm4eb/5/ 之前:
<div class="column" data-square="1-4">
<div class="green">999</div>
</div>
<div class="column" data-square="1-5">
<div class="blue">111</div>
</div>
后
<div class="column" data-square="1-4">
</div>
<div class="column" data-square="1-5">
<div class="green">999</div>
</div>
嗨,这就是应用程序的工作方式。假设有10个div框,每个框有一个内框12,用户点击一个div并点击另一个div。所以应该删除第二个div单击的内部div,并替换为第一个div单击div的内部。但外部div只有他们拥有的唯一字段是数据平方。访问http://jsfiddle.net/jm4eb/11/所以当第一个div的内部div将转到而不是第二个div的内部div被点击时。第二个div的内部div在替换之前被删除
答案 0 :(得分:2)
如何更改文本值而不是删除然后创建新文本?
$( '.column' ).each( function () {
// Save $( this ) and $( this ).next() since we're going to use them multiple times
var self = $( this ),
next = self.next()
// For each of them, save the firstChild's text
var val = self.children().first().text()
// Now, check if the next DIV exists
if ( next ) {
// If it does, change the text of its first child with the "val" variable
next.children().first().text( val )
}
} )
修改:将.find( '>:first-child' )
替换为.children().first()
。无法相信jQuery没有一种方法来填充firstElementChild
。
self.firstChild().text()
代替self.children().first().text()
。
答案 1 :(得分:0)
如果我理解正确,你想要放置div用户的内容首先点击他们点击的第二个div。由于你已经选择了dv(通过他们的点击)并且你有数据方块,所以只需要复制html。例如:http://jsfiddle.net/jm4eb/6/如果要清空第一个div的内容,只需在第一次单击时添加.html("")
,或者将引用保存到单击的div,并在保存的引用上运行.html("")
他们第二次点击。
我错过了你的问题吗?