获取内部文本并将其拆分。使用innerHTML和split的Javascript问题

时间:2013-09-24 00:44:16

标签: javascript jquery split innerhtml

拥有下一个简单的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 个答案:

答案 0 :(得分:1)

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

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

DEMO.

答案 1 :(得分:0)

你需要修剪text / html,因为它们在内容之前和之后都有空格

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

演示:Fiddle

否则,您需要将html编写为<div id="content">This is a test</div>

答案 2 :(得分: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>

答案 3 :(得分:0)

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

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