如何获取表单中所有label列表并遍历检查文本及问题解决
解决方法
其实你最初的思路是完全正确的,遍历所有label的代码本身没有问题,只是在script标签的属性上犯了一个小疏漏。
正确的实现代码
如果你想遍历页面中所有label并打印它们的文本内容,直接用这段代码就可以:
$('label').each(function() { // 用$(this).text()获取label的纯文本内容 console.log($(this).text()); });
如果只想定位到目标表单(.form-group类的表单)里的label,避免页面其他无关label干扰,还可以缩小选择范围:
$('.form-group label').each(function() { console.log($(this).text()); });
你之前代码失效的核心原因
你写的<script type="javascript">里的type属性值是错误的——正确的JavaScript MIME类型是text/javascript,不过现代浏览器其实可以直接省略这个属性,只写<script>标签就行。当你移除这个错误的type属性后,代码自然就能正常执行了。
另外补充两个你之前尝试方法的小细节:
.labels()是jQuery UI专属的方法,并非原生jQuery自带的,你只引入了jQuery库,没有引入jQuery UI,所以这个方法会直接报错失效;.siblings()是用来获取当前元素的兄弟元素的,比如你用$('label').siblings()拿到的是label旁边的input/select,不是label本身,所以一开始用它遍历自然拿不到label的内容。
内容的提问来源于stack exchange,提问作者R.R.C.
相关产品推荐
相关产品推荐

