如何使用当前元素标记获取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
答案 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
这里你的父母将是基于给定示例的身体,它将获得你想要的下一个内部。