为什么要用prop ,不直接return ?

var _option;
$("select option").each(function(){
if($(this).prop("selected")==true){
//console.log($(this).attr("data-value"));
_option = $(this);
}
})
//为什么要用prop
//为什么不直接return
//为什么要用_option
//有没有更简洁的代码,可以完成这个功能

阅读 2.1k
1 个回答

1.为什么要用prop
对于HTML元素本身就带有的固有属性,在处理时,使用prop方法。disabled,checked
对于HTML元素我们自己自定义的DOM属性,在处理时,使用attr方法。
2.为什么不直接return
return 的话,会被.each()的function截获。传递不出去
3.为什么要用_option
用一个外部作用域链的变量来存放,避免return传不出去的问题。
4.有没有更简洁的代码,可以完成这个功能
选择器 _option = $("select option:checked");
匹配所有选中的被选中元素(复选框、单选框等,select中的option),对于select元素来说,获取选中推荐使用 :selected。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题