0

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

4

1 回答 1

0

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

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

您已将contenteditable属性放在 div 包装器上 - 所以这将使所有文本都可编辑......

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

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

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

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

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

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

这是一个工作演示- 我使用过console.log,因为......好吧..我不太喜欢警报:P

于 2013-10-24T17:02:18.130 回答