2011-11-18 56 views

回答

3

你需要使用.contents()则获得的nodeValue ... 这样的事情,

$('span').contents()[0].nodeValue 

这里有一个fiddle

+0

谢谢=)全部.. – WHITECOLOR

5

请记住,HTML会忽略连续的空格。所以如果你有超过1个,它不会出现。如果jQuery的.html()方法不为你工作(也许他们里面修剪),你也可以只在同样的内部HTML直接

在HTML
alert($('#div').get(0).innerHTML) 
+0

现在最新的浏览器不支持innerHTML ... Firefox5不允许使用innerHTML – Varun

+4

所有浏览器都支持innerHTML,我不认为你的陈述是真实的。 –

+0

我相信你错了。 jQuery在内部使用innerHTML,它是DOM的一部分。如果你在浏览器中运行这个例子,你会看到它的工作原理:http://jsfiddle.net/TP7yU/(在FF7上试过) – JohnP

0

空的空白时间超过一个空间,像对待空字符串 - 没有数据。我认为你将需要使用& nbsp;实现你的目标。

0

HTML是白色空间不敏感。是否将它封装在前置块工作?

<pre>  </pre> 
0

我尝试使用下面的代码,并将其工程─我可以看到在输入框中

<script> 
$(document).ready(function() { 
    // Handler for .ready() called. 
    alert($(".d").text()); 
    $("#a").val($(".d").text()); 
}); 

</script> 


</head> 
<body> 
<div class="d"> </span> 
<span class="c"> </span> 
<input id="a"/>