博客
关于我
Js获取设置属性值以及jquery中的attr与prop区别
阅读量:319 次
发布时间:2019-03-04

本文共 1512 字,大约阅读时间需要 5 分钟。

HTML 行间属性与属性获取方法

在 HTML 开发中,行间属性 (inline styles) 和属性获取方法是开发者常用的功能。以下将详细介绍 setAttributegetAttribute 的使用方法,以及它们与 attr()prop() 的区别。


行间属性与 DOM 属性

在 HTML 中,行间属性可以直接写在标签内部,使用 style 属性来设置内联样式。例如:

Content

设置行间属性会在 DOM 元素的 attributes 属性中新增一个 Attr 对象。这个对象包含有属性名及其对应的值。通过 setAttribute 方法可以轻松地设置或修改行间属性。


getAttribute 方法

getAttribute 方法用于获取元素的行间属性值。它的使用方法如下:

元素.getAttribute('属性名')
  • 返回值:如果找到对应的属性,返回该属性的值;如果没有找到该属性,返回 null
  • 注意点getAttribute 仅能获取行间属性,不能获取 CSS 样式中的属性值。

示例

var div1 = document.getElementById('div1');div1.getAttribute('title'); // 返回 "divTitle"div1.getAttribute('title1'); // 返回 "divTitle1"

setAttribute 方法

setAttribute 方法用于设置或修改元素的行间属性。它的使用方法如下:

元素.setAttribute('属性名', 属性值)
  • 覆盖原有属性:如果元素已经有该属性,setAttribute 会覆盖原有的值。
  • 新增属性:可以通过该方法为元素新增自定义的行间属性。

示例

div1.setAttribute('data-source', '网站名称');

attr()prop() 的区别

在 jQuery 中,attr()prop() 方法看似相似,但它们的使用场景和内部实现有所不同。

1. 属性类型

  • attr():返回的是 HTML 标签上的属性值,属性值只能是字符串类型。
  • prop():返回的是 DOM 元素的属性值,可以是字符串、数字或布尔值。

2. 数据来源

  • attr():获取的是标签上的属性值,不能获取 DOM 元素的自定义属性。
  • prop():获取的是 DOM 元素的属性值,包括默认属性和通过 setAttribute 设置的属性。

3. 典型用途

  • attr():适用于获取标签上的属性值,例如 idclass 等。
  • prop():适用于获取 DOM 元素的属性值,例如 checkeddisabled 等布尔属性。

典型应用示例

1. 复选框的状态获取

var cb1 = document.getElementById('cb1');console.log(cb1.getAttribute('checked')); // 返回 "checked"

通过 getAttribute('checked') 可以获取复选框的状态,但需要注意的是:勾选或取消勾选复选框会修改 checked 属性,而默认的 defaultChecked 属性会在页面刷新后恢复。


总结

在开发过程中,合理使用 getAttributesetAttribute 方法可以方便地操作行间属性。对于布尔属性(如 checkedselecteddisabled 等),建议使用 prop() 方法来获取或设置其状态。

转载地址:http://hvaq.baihongyu.com/

你可能感兴趣的文章
Python 常见的错误类型和继承关系
查看>>
python 常量_零基础学Python系列之一:Python的变量与常量
查看>>
Python 并发编程
查看>>
Python编程入门基础及高级技能、Web开发、数据分析和机器学习与人工智能
查看>>
python 序列化操作
查看>>
Python 开发者,这 7 个 VS Code 插件极力推荐
查看>>
python手把手视频_硬货 | 手把手带你构建视频分类模型(附Python演练))
查看>>
python 录音左右声道_Python分离立体声wav压缩文件的左右声道
查看>>
Python 循环异或对文件进行加解密
查看>>
Python开发环境搭建(附VMware安装包及虚拟机环境)
查看>>
python 微信扫码登录_python实现微信第三方网站扫码登录(Django)
查看>>
Python 快速下载依赖
查看>>
python实现非参数统计的Cochran检验 (附完整源码)
查看>>
python 怎么验证是否安装成功 scrapy
查看>>
Python 手写数字识别-1
查看>>
Python实现接口自动化测试库(JSON与Requests)详解
查看>>
Python 手写数字识别-3-sklearn中的几种算法
查看>>
python实现SSIM和MSSSIM计算 (附完整源码)
查看>>
Python 打开文件注意事项
查看>>
python 批量修改文件名_python windows下批量修改文件名
查看>>