用相同的id替换元素及其子元素

时间:2014-10-15 11:42:41

标签: javascript jquery html css

在我的应用程序中,我试图通过ajax req加载电子书章节页面(如html标记显示)。

我的html标记如下:

<html><body>
<div id="p5">
<div id="p6">
<p class="heading">heading1</p>
<p class="normal">This is my sample Text here</p>
</div></div>
</body>
</html>

所以在加载书之后,我会在“pageContent”中获得所有页面。现在我想用与以前相同的高度和宽度替换书中的所有段落。所以我喜欢

  $(pageContent).find('p').empty().html('<textarea type ="text"></textarea>')

我得到的textarea的高度和宽度与段落

元素相同,但我需要与第一个父素相同的高度和宽度:

   <div id="p6">

我没有这个div元素的任何类,每个页面的id都不同。所以我迷失在这里,所以我需要像

这样的东西
   <html><body><textarea id= "p6" type ="text"></textarea></html></body>

我如何在文本区域添加父ID并删除该div元素。

如果您有任何疑问,请添加评论,非常感谢您提前的时间

3 个答案:

答案 0 :(得分:0)

//grab the id from the first `div` and then its id
var $div = $('div:first');
var id = $div.attr('id');

// replace the existing div with the textarea
// (complete with id)
$div.replaceWith('<textarea id="' + id + '" type="text"></textarea>');

DEMO

答案 1 :(得分:0)

检查这个

<强> HTML

<div id="p6">
    <p class="heading">heading1</p>
    <p class="normal">This is my sample Text here</p>
</div>

<强> SCRIPT

var newid = $("#p6").attr("id");
$("#p6").parent().html("<textarea id=" + newid + "/></textarea>")

Fiddle Demo

答案 2 :(得分:0)

试试这个:

 var id = $(pageContent).find('p').closest('div').attr('id');
//want to make sure you have correct id ?
// console.log(id);
$(pageContent).find('p').closest('div').replaceWith('<textarea id = "' + newid +  '" style ="background:#000" type ="text"></textarea>');