jQuery在文本区域显示html,排除一个元素

jQuery display html in textarea exclude an element

本文关键字:元素 一个 排除 文本 区域 显示 html jQuery      更新时间:2023-09-26

我在一个容器中有4个div。我想在文本区域中显示包含div的容器的html。我能做到。问题是,我不想得到容器的所有html。我不想得到第四个第三个。我想复制容器中除div#3之外的所有html。我可以使用$('#three').remove(),但我不想删除div,我只是不想将它的html值复制到textarea。检查jsfiddlehttp://jsfiddle.net/rzfPP/

<div id="container">
  <div id="one">test 1 </div>
  <div id="two">test 2 </div>
  <div id="three">test 3 </div>
  <div id="four">test 4 </div>
</div>    
<textarea id="save"></textarea>
var x = $('#container').html();
$('#save').val(x);

试试这个

$("#container").clone().find("#three").remove().end().html();

http://jsfiddle.net/rzfPP/21/

/*
var x = $('#container').html();
$('#save').val(x);
*/
var lol = $('#container').clone()
$(lol).find('#three').remove();

$('#save').val(lol.html());
$('#container').clone().find('#three').remove().end().html();

从技术上讲,这是非法的,因为你正在复制ID,但它工作得很好。

http://jsfiddle.net/rzfPP/33/

编辑:有人打败了我:(哦,好吧。

var text = "";
$('#container div').each( function() {
   if ( this.id != "three" ) {
      text += $(this).html();
   }
});
$('#save').val( text );

http://jsfiddle.net/rzfPP/31/

基本上,您可以逐个检查#container中的div,并检查它们的id。如果是您想要的,请将它们的html添加到字符串中。然后在最后给出该字符串作为您的文本区域值。