如何在没有回调的情况下获取有关元素的信息

How to get Information about an element without a callback

本文关键字:获取 信息 元素 情况下 回调      更新时间:2023-09-26

我有不同的容器,可以在不同的事件上重新加载。我有很多,所以我给每个容器都指定了类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)的情况下实现

希望我能解释我的问题——提前谢谢!

如果你想使用类,你可以通过索引引用它们:

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"));   
});

尝试给您的容器一个id:

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

然后,您可以在javascript中使用$("#facebookcontainer"),而不用使用它。