0

さまざまなイベントでリロードされるさまざまなコンテナーがあります。私はそれらをたくさん持っているので、各コンテナに class を与えましたload

これは、それらのすべてがどのように見えるかです:

<div class="load" data-href="facebook">
</div>

また、さまざまなアクションによってトリガーされる関数もあります。

function get_timing(time)
{
   $(".load").load("myfolder/mod_"+$(this).attr("data-href")+".php?action="+time, function() { 
       alert('Here I could use this:' + $(this).attr("data-href"));
   }
}

上記の例では使用できないことはわかってthisいます。コールバックでしか使用できませんでした。私の質問は次のとおりです。オブジェクトの属性を使用して、ロード関数のパスを定義するにはどうすればよいですか。

これがどのように機能するかです:

function get_timing(time)
{
   $(".load").fadeIn(10, function()
       {
           $(this).load("myfolder/mod_"+$(this).attr("data-href")+".php?action="+time, function() { 
           alert('loaded');
       }
   }
}

非同期機能なしでこれを行う方法はありますか (この場合.fadIn)

私の問題を説明できることを願っています-事前に感謝します!

4

2 に答える 2

2

クラスと一緒に行きたい場合は、インデックスを介してそれらを参照できます。

var element = $(".load").get(0);
console.log($(element).attr("data-href"));

アクセスするには、element経由でjQueryfyを再実行する必要があることに注意してください$(element)attr()

特定のクラスのすべての要素を読みたい場合は、お勧めします$.each()

//$.each($(".load"), function(index, value){
$(".load").each(function(index, value){
    console.log( $(value).attr("data-href"));   
});
于 2012-09-08T10:52:17.987 に答える
0

コンテナにIDを付けてみてください。

<div class="load" data-href="facebook" id="facebookcontainer">
</div>

次に、これを使用する代わりに$("#facebookcontainer")、JavaScriptで使用できます。

于 2012-09-08T10:47:04.750 に答える