2

我在主 div 内的两个 div 中有两个 span 标签

<div>
  <div>
    <span id="spanA">start text</span>
  </div>
  <div>
    <span id="spanB">start text two</span>
 </div>
<div>

我使用 jquery 1.7.2 并试图在页面加载时获取跨度 a 和 b 的默认文本值,然后单击更改跨度 a 和 b 的值,然后在切换时将它们改回。在 FF/chrome 上这工作正常,但 ie8 抛出错误

Object doesn't support this property or method 

负载

spanAval = $('#spanA').text();
spanBval = $('#spanB').text();

点击

$('#spanA').text("replace text");
$('#spanB').text("replace text two");

onToggle

$('#spanA').text(spanAval);
$('#spanB').text(spanBval);

在 ie8 中,文本被替换为“[object]”

我确定我缺少一些基本的东西,谢谢艺术

4

4 回答 4

5

好的,这是基本的东西,我的 var 名称与 id 相同

spanA = $('#spanA').text();

它在 ie8 中失败,但在其他浏览器 FF/chrome 等中工作,通过将 var 名称更改为它在 ie8 中工作的唯一名称

spanAval = $('#spanA').text();

谢谢你的快速回复

于 2012-06-23T07:59:05.077 回答
2

最后div没有关闭。Jquery 也有几个错误。

于 2012-11-07T12:45:04.210 回答
1

我认为您可以使用普通的 .innerText 或 .textContent (在 Firefox 中)属性,即:

var text = $('selector')[0].innerText 
             ? $('selector')[0].innerText 
             : $('selector')[0].textContent // for Firefox
于 2012-06-23T07:20:09.917 回答
1

您可以通过在 IE 中的变量前声明“var”来规避此错误。

var spanA = $('#spanA').text();
于 2013-02-19T13:25:12.220 回答