0

拥有下一个简单的 html 代码:

<div id="content">
This is a test
</div>

我不明白为什么这样可以:

$(function(){
text = 'this is a text';
word = text.split(' ');
alert(word[1])
})

但这不是:

$(function(){
text = $('#content').text();
word = text.split(' ');
alert(word[1])
})

jquery 或者原生javascript,问题是一样的。我希望在这两种情况下都会出现带有相同单词的警报,但只会出现在第一种情况下。我的错误在哪里?

这是我的问题:http: //jsfiddle.net/bbtdf/2/

谢谢!

4

4 回答 4

1

试试这个(你需要修剪文本)

$(function(){
    var text = $.trim($('#content').text()),
    word = text.split(' ');
    alert(word[1])
});

演示。

于 2013-09-24T00:47:57.407 回答
0

You need to trim the text/html because they will have spaces before and after the content

$(function(){
    var text = $('#content').text(),
        word = $.trim(text).split(' ');
    console.log(word[1])
})

Demo: Fiddle

Else you need to write your html as <div id="content">This is a test</div>

于 2013-09-24T00:47:23.510 回答
0

尝试使用此代码

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.1/jquery.min.js"></script>
<div id="content">
This is a test
</div>

<script>
  $(function(){
     text = $('#content').text();
     word = text.split(' ');
     alert(word[1])
  });
</script>
于 2013-09-24T01:04:24.193 回答
0

内容中有 3 个缩进空格。对于这种情况,文本函数将返回警报中的第二个空格,因此它显示为空白。

删除内容之前的缩进/空格,您应该会看到预期的结果。

于 2013-09-24T01:59:52.953 回答