jQuery中的^=操作符是什么?对应选择器如何使用?
jQuery
^= 选择器及相关逻辑说明 ^=是jQuery提供的属性前缀匹配选择器,语法为[attribute^=value],作用是匹配所有属性值以指定字符串开头的DOM元素。你代码中的jQuery("[name^=name]")就是匹配所有name属性的值以name字符串开头的元素,正好覆盖给出的三个<input>节点,它们的name属性分别为name[1]、name[2]、name[3],均符合匹配规则。
方法调用逻辑
1. val() 调用逻辑
当jQuery选择器匹配到多个元素时,直接调用.val()只会返回第一个匹配元素的value值,因此代码中的判断if (jQuery("[name^=name]").val() != "" )实际是校验第一个姓名输入框是否有内容:
- 若第一个输入框为空,直接弹出提示要求用户至少填写表单最顶部的人员信息
- 若第一个输入框有内容,进入后续处理逻辑
2. each() 调用逻辑
each()方法会遍历所有匹配到的name前缀开头的输入框,逐个处理每一个元素:
- 对每个输入框判断当前值是否为空
- 若为空,就移除该输入框最近的父级
<tr>元素,相当于把空的输入行从表单中删除,避免空值提交到服务器
遍历完成后,由于代码中的error变量始终没有被赋值为true,if (!error)的判断实际没有校验作用,只要第一个输入框非空就会直接提交表单。
内容的提问来源于stack exchange,提问作者philler82
相关产品推荐
相关产品推荐

