jQuery - 添加ID而不是Class

CLi*_*own 86 jquery

我正在使用当前的jQuery:

$(function() {
    $('span .breadcrumb').each(function(){
        $('#nav').addClass($(this).text());
        $('#container').addClass($(this).text());
        $('.stretch_footer').addClass($(this).text())
        $('#footer').addClass($(this).text());
    });
});
Run Code Online (Sandbox Code Playgroud)

它将面包屑中保存的文本应用于页面上的4个元素,允许我专门为其中的页面设置样式.

我想尝试添加ID而不是类,我该如何实现?

Sar*_*raz 208

试试这个:

$('element').attr('id', 'value');
Run Code Online (Sandbox Code Playgroud)

它变成了;

$(function() {
    $('span .breadcrumb').each(function(){
        $('#nav').attr('id', $(this).text());
        $('#container').attr('id', $(this).text());
        $('.stretch_footer').attr('id', $(this).text())
        $('#footer').attr('id', $(this).text());
    });
});
Run Code Online (Sandbox Code Playgroud)

因此,您正在更改/覆盖三个元素的id并将id添加到一个元素.您可以根据需要进行修改......


Ant*_*ony 23

请记住,这会覆盖元素已有的任何ID:

 $(".element").attr("id","SomeID");
Run Code Online (Sandbox Code Playgroud)

之所以addClass存在是因为一个元素可以有多个类,所以你不希望必须覆盖已经设置的类.但是对于大多数属性,在任何给定时间只允许一个值.


meo*_*ouw 9

$('selector').attr( 'id', 'yourId' );
Run Code Online (Sandbox Code Playgroud)