我在本机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和我测试过的黑莓浏览器)。
任何想法为什么?
答案 0 :(得分:3)
好的,时间过去了,但也许有人还在试图解决这个问题(就像我找到答案一样)。
根据this blog你需要重新绘制父块元素,在这种情况下你可以
$('#jobStream').hide();
$('#jobStream').get(0).offsetHeight;
$('#jobStream').show();
..在append()之后,所以重新绘制了新添加的元素。
答案 1 :(得分:0)
不确定。可能是你试图传递一个无效的DOM对象
也许尝试类似的事情;
$("#jobStream").append($("<div>test</div>")); // <- html string wrapped in $()
或
$('<div/>').html('test').appendTo('#jobStream');
答案 2 :(得分:0)
你尝试过这样的事吗?
$("<div></div>").append($("#test")).html();
或
$("#container").html($("#container").html() + html);
答案 3 :(得分:0)
事实证明,javascript需要包含在外部js文件中并包含在内而不是内联编码。荒谬的问题但幸好现在解决了。