由于某种原因我无法让append()
在safari中工作,但它在IE6中工作正常!!我遇到的问题是$( "#newsList .newsItemHeading" ).each(function(){})
和
$( "#newsList .newsListItem" ).each(function(){})
无效。我尝试在一个警告框中显示Safari中的<ul id="newsList">
内容,它返回空白。
它只是因为我无法访问jquery中使用apend()添加的元素,但元素正在完美地选择CSS样式。我在这里缺少一些东西?或者我应该使用其他技术吗?
HTML:
<html>
<div class="news-container">
<ul id="newsList">
</ul>
</div>
</html>
jQuery的:
$.ajax({
url: 'news.htm',
type: 'GET',
dataType: 'html',
success: function(data){
var $content = $(data).find('.newsItemContent');
$content.each(function(){
var li = $("<li>"+"<div class=newsItemHeading>"+$(this).children("h1").text()+"</div>"+"<div class=newsListItem>"+$(this).clone().children("h1").remove().end().text()+"</div>"+"</li>");
$("#newsList").append(li);
});
}
});
$( "#newsList .newsItemHeading" ).each(function(){
$(this).bind('click', function() {
window.location.href='news.htm';
});
});
$( "#newsList .newsListItem" ).each(function(){
$(this).html($(this).html().substring(0,135)+'<a href="news.htm">...</a>');
});
如果问题不明确,请告诉我。如果需要,我会提供更多详细信息,以便更容易理解问题所在
答案 0 :(得分:0)
我想说,最后两个函数在最后工作,但是添加列表项的ajax请求“太慢”,并且在列表元素之前将评估函数。所以选择器匹配0个元素。
试图让$( "#newsList .newsItemHeading" ).length
知道有多少元素?