获取元素的HTML代码(innerHTML +元素标签)

时间:2015-03-16 15:14:09

标签: javascript html

如何使用当前元素标记获取JavaScript中元素的HTML代码?

例如

<body><div><div class="big"><p>sometext</p></div></div></body>

var x = document.getElementsByClassName('big')[0]

现在我想要获取x:

的HTML代码
'<div class="big"><p>sometext</p></div>'

不仅:

'<p>sometext</p>' like innerHTML.

是否有比这更简单的方法?

var div = document.createElement("div"); 
div.id='_fooo'; var parent = x.parentNode; 
parent.insertBefore(div, x); 
div.appendChild(x); 
document.getElementById('_fooo').innerHTML

2 个答案:

答案 0 :(得分:1)

首先,你的html块有错误。 <input>是一个空元素,它不能包含子元素。所以,

<input type="submit" class="big"><p>sometext</p></input>

不是有效的HTML。

http://stackoverflow.com/questions/13629410/create-input-as-child-of-input

无论如何,你问题的答案是&#39; outerHTML&#39;属性。

<input>

替换<div>代码
<div type="submit" class="big"><p>sometext</p></div>

var x = document.getElementsByClassName('big')[0];
var output = x.outerHTML // returns '<div type="submit" class="big"><p>sometext</p></div>'

答案 1 :(得分:0)

获取当前元素的父元素并在其上调用get innerHTML,但这将为您提供所有子元素,因此您可能希望为元素创建父div,以便您可以阅读它的内容。

示例

var x = document.getElementsByClassName('big')[0].parentElement.innerHTML

这里你的父母将是基于给定示例的身体,它将获得你想要的下一个内部。