0

我想获取包含 td 内元素的文本。即使不知道使用 jQuery 的 td 里面有什么,也会mytd.text()在 IE8 中成功返回文本。

但是我注意到这个函数text() 可能不是跨浏览器,因为它在 Chrome 和 FF 中返回的值与在 IE8 中不同。在 Chrome 和 FF 中,字符串结果都比在 IE8 中长得多。它前面并附加了空值" "

从我有一个mytd具有 td 对象的变量开始,我怎么能以跨浏览器的方式检索包含的文本?

   // Does not work
   var text = mytd.text()

谢谢你。

4

2 回答 2

3

您可以使用jQuery.trim(str)从字符串的开头/结尾删除空格。

最终,您甚至不需要 jQuery 来修剪字符串,因为所有字符串trimString.prototype.

于 2012-11-29T14:53:33.890 回答
3

跨浏览器的,但不同的浏览器处理文本节点中的空白的方式不同,而 jQuery 并没有对其进行抽象。

它确实提供了$.trim帮助您的方法。

要在检索文本时去除空白,只需执行以下操作:

var text = mytd.text().trim();

...这假设mytd当然是指现有的 jQuery 变量。你可以这样做:

var text = $('.mytd').text().trim();

编辑:

抱歉,我在实现本机 String.trim() 方法的 Safari 中进行了测试;要让它在所有浏览器中工作,你应该这样做:

var text = $.trim( mytd.text() );
于 2012-11-29T14:56:08.757 回答