2

つまり、たくさんの要素があり、jQuery でそれらの 1 つだけを選択します。

($('div > ul > li').length === 1) // this is true

この要素を文字列として渡す必要がある場合、通常は次のようにします。

var el = $('div > ul > lu');
var passid = el.prop('id');

// in case this element doesn't have an id="..." attribute set one
if(typeof(passid)!=='string'){
    // compute an id="..." attribute based on the time
    var elindex = new Date().getTime();
    // make sure the id we're using isn't already in use by a different element
    while($('#el_'+elindex).length)
        elindex++;

    // assign what we've got
    passid = 'el_'+ elindex ;
    el.prop('id', passid);
};
passid = '#'+passid;

// Once we're good to go, pass the resulting selector
// passon(passid);... etc.

jQuery には、DOM ノードへの参照を文字列として渡すのを容易にする、より優れた (組み込みの) 関数 (または実際にはプラグイン) が付属していますか?

4

1 に答える 1

0

一度に 1 つのステータス更新のみを行うと仮定すると、要素に「current_el」のような一時 ID を単純に付与できないのはなぜですか。その後、websocket が返されたときに、ID「current_el」を持つ要素に単純にアクセスできます。毎回?基本的には、毎回同じ一時IDを設定します。この方法では、セレクターを送信する必要さえまったくありません。一時 ID にアクセスして、サーバー要求が返されたときにそれをクリアするだけです。

ただし、要素を将来使用するために参照を保持する必要がある場合は、メソッドは問題ないようです。これを達成するためのjQuery関数は知りません。お役に立てれば。

于 2012-07-29T20:01:15.340 に答える