jquery给元素设置属性的简单方法

 更新时间:2023年06月09日 14:24:09   作者:cyndi_超努力  
jquery是一个js插件库,现在很多前端开发人员都是使用它来操作dom的,对于dom操作,jquery提供了很多方法,这篇文章主要给大家介绍了关于jquery给元素设置属性的简单方法,需要的朋友可以参考下

设置方法:1、使用attr()方法,语法“$(selector).attr(属性名,值)”或“$(selector).attr({属性名:值;})”;2、使用prop()方法,语法“$(selector).prop(属性名,值)”。

1、使用attr()方法 

attr() 方法设置或返回被选元素的属性值。根据该方法不同的参数,其工作方式也有所差异。

语法:

//单个属性
$(selector).attr(属性名,值)
//多个属性
$(selector).attr({属性名:值;属性值:值...})

2、使用prop()方法

prop() 方法设置或返回被选元素的属性和值。

当该方法用于设置属性值时,则为匹配元素集合设置一个或多个属性/值对。

语法:

//单个属性
$(selector).prop(属性名,值)
//多个属性
$(selector).prop({属性名:值;属性值:值...})

3、attr()和prop()方法的区别

prop() 方法和 attr() 方法相似,都是用来获取或设置元素的 HTML 属性的,不过两者也有着本质上的区别。

jQuery 官方建议:具有 true 和 false 这两种取值的属性,如 checked、selected 和 disabled 等,建议使用 prop() 方法来操作,而其他的属性都建议使用 attr() 方法来操作。

示例:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <script src="js/jquery-1.10.2.min.js"></script>
        <script>
            $(function () {
            $('input[type="radio"]').change(function(){
                var bool = $(this).attr("checked");
                if(bool){
                    $("p").text("你选择的是:" + $(this).val());
                }
            })
        })
    </script>
    </head>
    <body>
        <div>
            <label><input type="radio" name="fruit" value="苹果" />苹果</label>
            <label><input type="radio" name="fruit" value="香蕉" />香蕉</label>
            <label><input type="radio" name="fruit" value="西瓜" />西瓜</label>
        </div>
        <p></p>
    </body>
</html>

 预览效果如图 1 所示。

分析: 

$().change(function(){
    ……
})

在这个例子中,我们其实是想通过$(this).attr("checked")判断单选框是否被选中,如果被选中,就获取该单选框的 value 值。可是运行代码后发现:完全没有效果!这是为什么呢?

实际上,对于表单元素的 checked、selected、disabled 这些属性,我们使用 attr() 方法是没法获取的,而必须使用 prop() 方法来获取。因此,我们把 attr() 方法替换成 prop() 方法就有效果了。

其实,prop()方法的出现就是为了弥补 attr() 方法在表单属性操作中的不足。记住一句话:如果某个属性没法使用 attr() 方法来获取或设置,改换 prop() 方法就可以实现。

补充:jQuery给标签添加自定义属性

jQuery给标签添加自定义属性

下面代码包含了添加和获取自定义属性。

添加的属性值有数字,类数组,对象,详细用法见备注。

<script type="text/javascript">
    // 设置属性
    $('#box').css('width', '200px')
    $('#a1').attr('href',"http://www.baidu.com")
    // 设置多个属性
    // 注意:属性名不用加引号
    $('#a1').attr({ href: "http://t.tt", target: "_blank" })


    // *********** 添加和获取自定义属性 ************
    // ==========1.设置一个自定义值==========
    $('#a1').attr('myIndex',2)
    console.log($('#a1').attr('myIndex'))

    // ==========2.设置多个自定义值==========
    // 注意:属性名要加引号,不能使用阿拉伯数字作为属性名
    fruitsList = {'a':'苹果', 'b':'香蕉', 'c':'西瓜'}

    // !!!!!!!!!!! 不正确的设置 !!!!!!!!!!!
    $('#a1').attr('fruit',fruitsList)
    console.log($('#a1').attr('fruit'))   // 打印:[object Object],没有实际用处

    // 正确设置和获取属性
    $('#a1').attr(fruitsList)
    console.log($('#a1').attr('a'))         // 打印: 苹果
    console.log($('#a1').attr('b'))         // 打印: 香蕉
    console.log($('#a1').attr('c'))         // 打印: 西瓜

    // ==========3.设置自定义值为对象===========
    // 创建对象
    function Person(name, age){
        this.name = name
        this.age = age
    }
    person1 = new Person('Lili', 20)

    // !!!!!!!!!!! 不正确的设置 !!!!!!!!!!!
    $('#a1').attr('myattar', person1)       
    console.log($('#a1').attr('myattar'))   // 打印:[object Object],没有实际用处

    // 正确设置和获取属性
    $('#a1').attr(person1)
    console.log($('#a1').attr('name'))
    console.log($('#a1').attr('age'))
</script>

总结 

到此这篇关于jquery给元素设置属性的文章就介绍到这了,更多相关jquery元素设置属性内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • jQuery实现的分页功能示例

    jQuery实现的分页功能示例

    这篇文章主要介绍了jQuery实现的分页功能,结合实例形式较为详细的分析了jQuery实现分页功能的具体步骤及相关操作技巧,包括前台样式、布局及jQuery分页插件的调用方法,需要的朋友可以参考下
    2017-01-01
  • 使用jquery实现以post打开新窗口

    使用jquery实现以post打开新窗口

    网络上已有此功能的函数,是以纯JS实现,本文为大家介绍的使用jquery实现,需要的朋友可以参考下
    2014-03-03
  • 简单讲解jQuery中的子元素过滤选择器

    简单讲解jQuery中的子元素过滤选择器

    这篇文章主要介绍了jQuery中的子元素过滤选择器,列举了一些操作DOM时获取父元素的一些方法,需要的朋友可以参考下
    2016-04-04
  • 基于 jQuery 实现键盘事件监听控件

    基于 jQuery 实现键盘事件监听控件

    这篇文章主要介绍了基于 jQuery 的键盘事件监听控件,需要的朋友可以参考下
    2019-04-04
  • jquery删除指定子元素代码实例

    jquery删除指定子元素代码实例

    这篇文章主要介绍了jquery删除指定子元素代码实例,本文使用较简单的方法实现了这个需求,代码一看就懂,需要的朋友可以参考下
    2015-01-01
  • jquery+json实现数据列表分页示例代码

    jquery+json实现数据列表分页示例代码

    该实例中,新闻数据列表未使用表格显示,下面有个不错的示例完美实现实现数据列表分页,感兴趣的朋友不要错过
    2013-11-11
  • 用示例说明filter()与find()的用法以及children()与find()的区别分析

    用示例说明filter()与find()的用法以及children()与find()的区别分析

    本篇文章介绍了,用示例说明filter()与find()的用法以及children()与find()的区别分析。需要的朋友参考下
    2013-04-04
  • 分享jQuery的3种常见事件监听方式

    分享jQuery的3种常见事件监听方式

    这篇文章主要介绍了jQuery常见事件的监听方式,页面经常会有各种事件发生,事件发生后需要进行一些特定处理,即执行特定的函数或者语句。这就需要对事件进行监听,下面关于监听事件的介绍,需要的小伙伴可以参考一下
    2022-03-03
  • jQuery实现防止提交按钮被双击的方法

    jQuery实现防止提交按钮被双击的方法

    这篇文章主要介绍了jQuery实现防止提交按钮被双击的方法,涉及jQuery针对鼠标按键的操作技巧以及preventDefault方法对元素默认行为的修改技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-03-03
  • Jquery轮播效果实现过程解析

    Jquery轮播效果实现过程解析

    这篇文章主要为大家详细的分析了Jquery轮播效果实现过程的具体步骤以及实现思路,帮助大家快速实现Jquery轮播效果,感兴趣的小伙伴们可以参考一下
    2016-03-03

最新评论