我写了一些HTML:
<div id="contentbox" contenteditable="true"><span value="1">Hello</span><span value="2">Stack</span><span value="3">over</span> flow</div>
和jQuery
$("#contentbox").live("keyup",function(event){alert(jQuery(this).attr('value'));}}});
我需要获取已在内容中编辑的span值。
答案 0 :(得分:0)
您提供的代码存在一些问题。
首先,您遇到语法错误,但在创建此帖子时,我会将其归因于复制粘贴错误。
您已将contenteditable
属性放置在div包装器上 - 因此这将使文本的全部可编辑...
除此之外,您在事件回调中引用this
- 但this
将引用div
元素而不是内部范围。所以......
您需要将回调中的代码更改为:
alert( $(this).find("span").attr('value') )
跨度元素没有值属性...您正在寻找text()
函数来提取元素的文本内容。
alert( $(this).find("span").text() )
请注意,#contentbox
中有多个span元素,因此文本值将是两个跨度的内容。
Here is a working demo - 我使用过console.log
因为......好吧..我真的不喜欢警报:P