如何使用jquery获取元素的ID ON PAGE LOAD

时间:2012-04-26 08:57:51

标签: javascript jquery javascript-events jquery-selectors

我只知道如何获取点击元素的id就像这样:

$("button").click(function(){
console.log($(this).attr("id"));
}

但是我可以做些什么来获取网页加载的ID?看看这个......

$("button").ready(function(){
console.log($(this).attr("id"));
}

它返回整个文档对象和这个..

$("button").load(function(){
console.log($(this).attr("id"));
}

什么都不做。

我想在加载时动态更改所有按钮的样式。

主要项目比较复杂。并且我不会使用js核心来做它我想要jquery选择器的简单性,但是赞赏等效的js方法。

3 个答案:

答案 0 :(得分:0)

  

我想在加载时动态更改所有按钮的样式。

如果是这种情况,您只需在加载时将css应用于button选择器,而无需获取每个按钮的id

$(function() {
    $("button").css("background-color", "#C00");
});

或者更好的是,将css样式放入一个类中,只需将一个类应用于所有按钮:

$(function() {
    $("button").addClass("red-bg");
});

如果您确实希望加载每个按钮的id,则需要使用数组来满足可能有多个按钮的事实:

var buttonIds = $("button").map(function() {
    return this.id;
}).get();

然而,这是一个相当无意义的方法,因为您可以使用each()迭代button选择器来访问每个单独的按钮元素。

答案 1 :(得分:0)

你可以在jquery中获取所有按钮元素,然后在每个按钮元素上循环以改变它们的样式 - :

$(function()
{
    var allButtons = $('button');
    $.each(allButtons,function(index,element)
    {
        $(element).css('width','100px');
    });
});

答案 2 :(得分:0)

我认为你正在寻找这个:

        $(document).ready(function () {
            $(":button").each(function () {
                console.log($(this).attr("id"));
            })
        });