查找在div中编辑的跨度

时间:2013-10-24 16:52:15

标签: javascript jquery html

我写了一些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值。

1 个答案:

答案 0 :(得分:0)

您提供的代码存在一些问题。

首先,您遇到语法错误,但在创建此帖子时,我会将其归因于复制粘贴错误。

您已将contenteditable属性放置在div包装器上 - 因此这将使文本的全部可编辑...

除此之外,您在事件回调中引用this - 但this将引用div元素而不是内部范围。所以......

  1. 您需要将回调中的代码更改为:

    alert( $(this).find("span").attr('value') )

  2. 跨度元素没有值属性...您正在寻找text()函数来提取元素的文本内容。

    alert( $(this).find("span").text() )

  3. 请注意,#contentbox中有多个span元素,因此文本值将是两个跨度的内容。

    Here is a working demo - 我使用过console.log因为......好吧..我真的不喜欢警报:P