我试图抓住这个div中的“值”,这是可编辑的:
<div class="editable-div" contentEditable="true">Hey</div>
我认为我可以通过JavaScript完成此操作:
var changedText = $('.editable-div').innerHtml
但是,此变量将始终返回“undefined”,这让我感到困惑。
有人可以告诉我如何达到这个“价值”吗?
答案 0 :(得分:30)
这是jQuery - 您必须使用:
$('.editable-div').html()
答案 1 :(得分:3)
jQuery包装对象实际上不是原始DOM节点,但实际上是一个原始DOM节点数组,可以使用jQuery特定方法(例如.html()
)执行操作。如果要与DOM节点进行交互,可以通过迭代列表或获取该列表的元素(如果您知道它是哪一个)来检索它:
$('div').each(function(index, element) {
element.innerHTML // ...
}
$('div').get(0).innerHTML
$('div')[0].innerHTML
请注意,虽然它是&#34;有点&#34;就像一个数组一样,你可以使用$('div')[0]
的数组语法来获取DOM节点,你不能像Javascript中的数组一样对待它。换句话说,您无法执行此操作:
$('div').forEach(function(element) {
element.innerHTML
}
答案 2 :(得分:1)
innerHtml
与javascript选择器一起使用,您使用的是jQuery。所以用innerHtml
或.html()
函数替换.text()
。
使用此:
var changedText = $('.editable-div').html();
答案 3 :(得分:0)
innerHtml是DOM。尝试$('。editable-div')[0] .innerHtml