4

我在原生 android 浏览器和黑莓浏览器上有一个非常奇怪的问题。我只是有一个 id 为“jobStream”的 div,并想将 html 附加到它。

HTML:

<div id="jobStream"></div>

JavaScript"

$("#jobStream").append("<div>test</div>");

奇怪的是,如果我这样做:

$("#jobStream").append("test");

它工作正常,但使用 append 创建嵌套 div 似乎会导致问题。我也尝试了 .html() 和 .after() ,但我看到了同样的问题。即 $("#jobStream").html("test") 有效,但 $("#jobStream").append("test") 无效。

再次:这仅不适用于某些移动浏览器(我测试过的原生 android 浏览器 4.1.1 和黑莓浏览器)。

任何想法为什么?

4

4 回答 4

3

好的,时间已经过去了,但也许有人仍在试图解决这个问题(就像我在找到答案之前所做的那样)。

根据此博客,您需要重新绘制父块元素,在这种情况下,您可以

$('#jobStream').hide();
$('#jobStream').get(0).offsetHeight;
$('#jobStream').show();

..在append()之后,所以新添加的元素被重新绘制。

于 2014-08-04T05:25:51.823 回答
0

没有把握。可能是您试图传递无效的 DOM 对象

也许尝试类似的东西;

$("#jobStream").append($("<div>test</div>"));   // <- html string wrapped in $()

或者

$('<div/>').html('test').appendTo('#jobStream');
于 2012-12-31T18:57:46.353 回答
0

你有没有尝试过这样的事情?

$("<div></div>").append($("#test")).html();

或者

$("#container").html($("#container").html() + html);
于 2013-01-02T16:20:00.263 回答
0

事实证明,需要将 javascript 包含在外部 js 文件中并包含在内,而不是使用 . 荒谬的问题,但幸运的是现在解决了。

于 2013-01-14T17:34:37.193 回答