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およびBlackBerryブラウザ)でのみ機能しません。

なぜ何かアイデアはありますか?

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 に答える