1

HTML要素、または正しいCSSスタイルのプロパティと組み合わせると、他の要素のコンテナーとして使用できることを除いてフットプリントがない要素はありますか?

これは、ページマーカーの「マーカー」のようなもので、jQueryによって実際のHTMLを配置する必要があります。

それがどのように見えるかの例:

<span id='the_view_container' style='display:dont-do-anything'></span>

私が尋ねる理由は、Backbonejsを使用していて、画面にビューを追加する必要がある場合、ビューを作成するときにビューをペグする要素を指定する必要があるためです。これには欠点があります。 :

theView = new TheView({
    el:    $('#the-view-container')
});

または、既存の要素(通常はdiv)内にビューを挿入する必要があります。これにより、テンプレート作成が困難になります。

theView = new TheView({});
$('#the-view-container').html(theView.el);
$('#the-view-container').addClass('theViewClass');  // <-- Shouldn't have to do this

どんな入力でも大歓迎です、どうもありがとう!

4

3 に答える 3

1

要素を動的に作成する方がよいでしょう。

ただし、次のような「nothing」要素を作成できます。

<div id="nothing" style="display: none; visibility: hidden; width: 0; height: 0; line-height: 0"></div>

次にstyle、必要に応じて設定します。

$('#nothing').css('');
于 2012-08-02T02:42:59.733 に答える
1

ドキュメントフローにアタッチされていないDOM要素でうまくいくはずです。divたとえば、次のようにしてみてください。

var detachedDiv = $('<div/>');

theView = new TheView({
    el:    detachedDiv
});

<body>次に、ビューを添付する場合は、たとえば次のように追加します。

$('body').append(detachedDiv);
于 2012-08-02T02:32:08.687 に答える
1

(CSSに異常なリセットがないことを前提としています。)<div>IDが付加された空を使用するだけです。

<div id="backboneJScontent"></div>

divの高さはデフォルトで0であるため、高さ、境界線、余白、アウトライン、またはパディングが指定されるまで、ドキュメントフローにスペースは表示されません。(デフォルトではそれらはありません)

次に、コンテンツを挿入する必要がある場合は、IDだけで選択して、そのdivに直接挿入できます。

$("#backboneJScontent");
于 2012-08-02T03:03:33.193 に答える