0

我只知道如何获取点击元素的 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 core 来做,我想要 jQuery 选择器的简单性,但是等价的 js 方法值得赞赏。

4

3 回答 3

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选择器来访问每个单独的按钮元素。

于 2012-04-26T09:04:20.290 回答
0

您可以在 jquery 中获取所有按钮元素,然后在每个按钮元素上循环以更改其样式-:

$(function()
{
    var allButtons = $('button');
    $.each(allButtons,function(index,element)
    {
        $(element).css('width','100px');
    });
});
于 2012-04-26T09:08:57.260 回答
0

我想你正在寻找这个:

        $(document).ready(function () {
            $(":button").each(function () {
                console.log($(this).attr("id"));
            })
        });
于 2012-04-26T10:34:21.017 回答