在String周围包装$()不会返回任何内容

时间:2012-12-12 14:51:02

标签: jquery

我正在尝试从this post之后的字符串中删除HTML标记。我正在尝试从中删除标记的字符串是名为item.content的JSON属性。所以我的代码看起来像这样:

$(item.content).text();

如果item.content的值如下,则效果很好:

  

El mexicanoMarcoRodríguezseráelárbitrodelduelo entre Corinthians y Al Ahly

但是,item.content是这样,我收到错误:

  

'Prefiero ganarlaDécima,aunqueelBarçanossaque 25 puntos',骰子Iker Casillas

错误为Error: Syntax error, unrecognized expression。我猜这是因为单引号,但我不知道如何解决它。有什么建议吗?

2 个答案:

答案 0 :(得分:2)

如果要在该字符串上使用.text()(或任何其他jQuery)函数,则需要将其添加到元素中,以便可以在其上使用任何jQuery方法。实施例

$('<div/>').text(item.content).text() // <-- see how element is created first to add the string.. then use jQuery's text() method to get the string

或使用带元素的有效字符串

$('<div>' + item.content + '</div>').text() 

正如@Kevin B在评论中指出的那样......

使用

$('<div/>').html(item.content).text() 

是此示例的正确方法,因为您要保留html

答案 1 :(得分:0)

请参阅此示例以了解选择器的工作原理。您可以从DOM-id或类名中进行选择。 (使用Chrome或FireBug中的元素检查器查看控制台的值或将console.log替换为alert

<script type="text/javascript">
  $(document).ready(function() { 
    console.log($('#your_text').html());
  });
</script>

<span id="your_text">hello, this is my value</span>