• 技术文章 >web前端 >前端问答

    jquery怎么设置元素多个属性值

    青灯夜游青灯夜游2023-01-28 14:23:41原创38

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

    本教程操作环境:windows7系统、jquery3.6版本、Dell G3电脑。

    在jquery中,可以使用一些两个方法来给元素设置属性(值):

    这两种方法都可以给元素设置一个或多个属性值。

    下面就来看看设置多个属性值的方法。

    方法1、使用attr()设置多个属性值

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

    语法:

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

    示例:设置图像的 width 和 height 属性

    <!DOCTYPE html>
    <html>
    	<head>
    		<meta charset="utf-8" />
    		<script src="js/jquery-3.6.3.min.js"></script>
    		<script type="text/javascript">
    			$(document).ready(function() {
    				$("button").click(function() {
    					$("img").attr({
    						width: "50",
    						height: "80"
    					});
    				});
    			});
    		</script>
    	</head>
    	<body>
    		<img src="img/1.jpg" width="200" />
    		<br />
    		<button>设置图像的 width 和 height 属性</button>
    	</body>
    </html>

    1.gif

    2、使用prop()设置多个属性值

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

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

    语法:

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

    示例:

    <!DOCTYPE html>
    <html>
    	<head>
    		<meta charset="utf-8" />
    		<script src="js/jquery-3.6.3.min.js"></script>
    		<script type="text/javascript">
    			$(document).ready(function() {
    				$("button").click(function() {
    					$("img").prop({
    						width: "50",
    						height: "80"
    					});
    				});
    			});
    		</script>
    	</head>
    	<body>
    		<img src="img/1.jpg" width="200" />
    		<br />
    		<button>设置图像的 width 和 height 属性</button>
    	</body>
    </html>

    2.gif

    扩展知识: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 所示。

    1.gif

    分析

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

    上面表示的是 jQuery 中的 change 事件,与 JavaScript 的 onchange 事件是一样的,我们在之后会详细介绍。

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

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

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

    【推荐学习:jQuery视频教程web前端视频

    以上就是jquery怎么设置元素多个属性值的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:jquery javascript
    上一篇:css字体不可复制代码是什么 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • jquery怎么修改子元素的属性值• jquery需要的js文件都有哪些• jquery中math对象的方法有哪些• jquery中slim版和标准版的区别是什么
    1/1

    PHP中文网