实施例,
<td id="example">
Something is inside here.
<button id="paymentBtn">pay</button>
</td>
我想要做的是,在付款按钮之前"only emtpy"
并插入这样的新内容,
<td id="example">
Deleted old one, and inserted new one.
<button id="paymentBtn">pay</button>
</td>
我知道我可以使用
$("#paymentBtn").before("inserted new one");
但我怎么能空着?
如果我是空的例子。它吹了一切,
$("#paymentBtn").before().empty();
这不起作用:(
答案 0 :(得分:2)
尝试
$($("#paymentBtn").get(0).previousSibling).remove();
演示:Fiddle
正如所建议的那样,你可以
$('#add').click(function(){
$("#paymentBtn").before("<span>inserted new one</span>");
})
$('#remove').click(function(){
$("#paymentBtn").prev('span').remove();
})
演示:Fiddle
答案 1 :(得分:0)
我理想情况下我的html就像这样......其中的文字并不直接在里面:
<td id="example">
<span>Something is inside here.</span>
<button id="paymentBtn">pay</button>
</td>
然后我希望我的html稍后会出现:
<td id="example">
<span>Deleted old one, and inserted new one.</span>
<button id="paymentBtn">pay</button>
</td>
然后我会这样做:
$('#example').find('span').html('Deleted old one, and inserted new one.');
或者,$('#paymentBtn').prev().html('Deleted old one, and inserted new one.');
答案 2 :(得分:0)
其中一个是,将文本存储到<span class="deleteThis"></span>
<td id="example">
<span class="deleteThis"> Something is inside here.</span>
<button id="paymentBtn">pay</button>
</td>
删除它,或用其他文字重写:
$("#paymentBtn").parent().find(".deleteThis").empty().html("Changed");
或直接从父母导航:
$("#example .deleteThis").empty().html("Changed");
第二个答案是,您可以删除除一个元素之外的所有内容:
var oldElem = $("#paymentBtn").clone();
$('#example').empty().append("Deleted successfully.").append(oldElem);
您克隆您不想删除的元素,清空父元素并恢复克隆元素。