2

このコードを単純化する方法はありますか:

var topic_html = obj.$form.find("#select-topic").html();
var topic_val = obj.$form.find("#select-topic").val();
var topic_text = obj.$form.find("#select-topic option:selected").text();

私はそれがかなりきれいであることを知っていますが、3つのインスタンスを回避できる方法はありますか?obj.$form.find.

4

3 に答える 3

8

毎回選択を見つける必要はなく、変数にキャッシュします。

var topic = obj.$form.find("#select-topic");
var topic_html = topic.html();
var topic_val = topic.val();
var topic_text = topic.find("option:selected").text();
于 2012-08-03T04:14:09.657 に答える
4

ID でオブジェクトを取得しています - なぜそうしているのobj.$form.findですか?

$('#select-topic')要素がフォームの子であることを確認する必要がない限り、そうしてください。

ともかく:

var select = $('#select-topic');
var topic_html = select.html();
var topic_val = select.val();
var topic_text = select.find('option:selected').text();

同じものの 3 つのバージョンすべてが必要なのはなぜですか?

于 2012-08-03T04:15:01.493 に答える