使用prop和attr给option设置selected

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title></title>
	</head>
	<body>
		请输入你的爱好:
		<input type="text" />
		<button>确定</button>
		<select>
			<option value="乒乓球">乒乓球</option>
			<option value="足球">足球</option>
			<option value="篮球">篮球</option>
		</select>
	</body>
</html>
<script src="js/jquery-3.5.1.js" charset="utf-8"></script>
<script>
	$(function(){
		$("button").click(function(){
			var hobby = $("input").val();
			
			//$("select").find("option[value="+hobby+"]").attr("selected",true).siblings("option").removeAttr("selected");
			
			$("select").find("option[value="+hobby+"]").attr("selected",true);
			
		})
	})
</script>

演示示例:
在这里插入图片描述
在这里插入图片描述

一。如果使用attr(),给option赋了selected=selected属性后要使用removeAttr()将相邻的option的selected属性给去掉。如下:
//$(“select”).find(“option[value=”+hobby+"]").attr(“selected”,true).siblings(“option”).removeAttr(“selected”);

二。使用prop()比attr()好。
$(“select”).find(“option[value=”+hobby+"]").attr(“selected”,true);

三。prop()和attr()的区别():

property:属性,attribute:特性。

property是DOM中的属性,是JavaScript里的对象;
attribute是HTML标签上的特性,它的值只能够是字符串;

prop是1.6.1才新出来的,attr()和prop()可以理解为获取/设置属性,即attributes和properties。window或document中使用attr()方法在jQuery1.6之前不能正常运行,因为window和document中不能有attributes。

attr()一般用于操作自定义属性,通过访问和操作 DOM 元素的属性节点来工作。

prop()获取在匹配的元素集中的第一个元素的属性值。在获取元素状态时返回布尔值,大大方便了对状态的判断。prop 一般用于操作 HTML 元素固有属性。如果元素上没有该属性,或者如果没有匹配的元素。那么该方法会返回undefined值。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值