-5

文字列式を使用して $(this) に相当するものはありますか? $('this') を試しましたが、うまくいきませんでした。

編集:

dom 要素のコード量を減らしたいと考えています。コードを繰り返す代わりに、カスタム属性を記述し、応答を data-response-target-sel セレクターに入れたいと思います。ただし、基本的に「this」のコンテキストを使用してこのセレクターを表現する必要がある場合があります。そのような場合の適切な解決策を見つけたいと思います。コンテキストに別のカスタム属性を追加できますが、さらに先に進む前に、質問を共有したいと思いました。

<a class="btn btn-primary" href="#" data-response-target-sel=".modal" >

ajaxSubmit({
    url: $this.attr("href"),
    type: "GET",
    data: {}
},$this.attr("data-response-target-sel"));


function ajaxSubmit(data,resSel) {
  $.ajax({
     url:data.url,
     type:data.type,
     data:data.data,
     cache:false,
     success:function (html, textStatus, jqXHR) {
        var $html = $(html);
        if(jqXHR.status == 200 || jqXHR.status == 201){
            $(resSel).html(html)
        }
     }
  });

}

これを使用してコンテキストに「data-response-target-sel」を設定するにはどうすればよいですか?

ありがとう

4

3 に答える 3

1

文字列式を使用して $(this) に相当するものはありますか?

いいえ、悪のようなものを使用しない限りeval

に相当する文字列が必要なのはなぜthisですか?
次のようなものが見つかっ$('kdjfk55ndns')たら、それを使用しますか?

上記のような回答が本当に必要な場合は、https://stackoverflow.com/q/10375329/601179を読ん でください...


tagName$('this')を持つ要素を探して DOM を照会することに注意してください。this

<this>
    <this> </this>
</this>

HTMLにはそれらの多くがあります...


アップデート:

function ajaxSubmit(data,resSel) {
  $.ajax({
     url:data.url,
     type:data.type,
     data:data.data,
     cache:false,
     context : $(resSel),
     success:function (html, textStatus, jqXHR) {
        var $html = $(html);
        if(jqXHR.status == 200 || jqXHR.status == 201){
            this.html(html)
        }
     }
  });
}
于 2012-05-14T14:17:49.077 に答える
0

変数として定義$(this)して使用してから、それを使用してください。

var obj = $(this);
于 2012-05-14T14:18:32.863 に答える
0

要素を渡す場合は、次のようにすることができます。

$('selector', $this);

またはあなたの例では:

$(resSel, $this).html(html)

そして使わない

$this.attr("data-response-target-sel")

しかし

$this.data("response-target-sel")
于 2012-05-14T14:35:50.967 に答える