我正在尝试将一些文本添加到div中的某些跨度非常简单但我不能为我的生活让它在IE中工作。它适用于Chrome,Safari和Firefox。
继承人jQuery:
$("div#dateRanges #startDate").text(typeValues.dateRanges[1][0]);
$("div#dateRanges #endDate").text(typeValues.dateRanges[1][1]);
以及我正在编辑的html:
<div id="dateRanges">
<span id="startDate"></span>
<span id="endDate"></span>
</div>
使用jQuery获取元素然后尝试设置.innerHTMl也不起作用。
var startDate = $("div#dateRanges #startDate").first();
startDate.innerHTML = typeValues.dateRanges[1][0]; //Sets the text date values
var endDate = $("div#dateRanges #endDate").first();
endDate.innerHTML = typeValues.dateRanges[1][1];enter code here
只是为了消除潜在的混淆,这就是设置我遇到麻烦的跨度文本。此外,通过AJAX包含在页面加载后更新此数据的信息可能很重要。
答案 0 :(得分:1)
对于第二个,您需要获取原始DOM元素。您可以使用[0]
或.get(0)
var startDate = $("div#dateRanges #startDate")[0];
var endDate = $("div#dateRanges #endDate")[0];
可能text
有效,但您希望将其视为HTML。我想你可以在这里使用html
:
$("div#dateRanges #startDate").html(typeValues.dateRanges[1][0]);
$("div#dateRanges #endDate").html(typeValues.dateRanges[1][1]);
答案 1 :(得分:1)
尝试使用以下代码,并确保typeValues.dateRanges
不为空。
var startDate = $("div#dateRanges #startDate");
startDate.html(typeValues.dateRanges[1][0]); //Sets the text date values
var endDate = $("div#dateRanges #endDate");
endDate.html(typeValues.dateRanges[1][1]); //enter code here
答案 2 :(得分:0)
显然,原因是jQuery的$('#foo')
方法返回一个对象而不是一个元素。这里有一篇引人入胜的简短文章:http://markmail.org/message/nj3iclk6jnczshop
要解决这个问题,您可以使用该文章中建议的方法,我想象一下,但我这样做的方法是只使用jQuery的.html()
方法而不是论点也是如此。