如何用JavaScript或jQuery获取含green2类标签的option div中的隐藏域ID/值
没问题,我来给你两种实用的实现方案,分别用原生JavaScript和jQuery,都能精准拿到你需要的隐藏域ID或值:
原生JavaScript实现
咱们先看原生JS的写法,兼容性拉满,不用依赖任何外部库:
// 获取所有class为questionsDiv的容器 const questionDivs = document.querySelectorAll('.questionsDiv'); questionDivs.forEach(div => { // 找到当前容器里包含.green2标签的option元素 const targetOption = div.querySelector('.option:has(.green2)'); if (targetOption) { // 定位该option内的隐藏域 const hiddenField = targetOption.querySelector('input[type="hidden"]'); if (hiddenField) { // 获取隐藏域的ID和值 const fieldId = hiddenField.id; const fieldValue = hiddenField.value; console.log(`当前题目的正确选项隐藏域ID: ${fieldId}, 值: ${fieldValue}`); // 这里可以根据需求把结果存到数组或做其他处理 } } });
这段代码的逻辑很清晰:先批量获取所有题目容器,挨个遍历;在每个容器里精准定位到包含.green2标签的那个选项,再从这个选项里揪出隐藏域,最后就能拿到你要的ID和值了。
jQuery实现
如果你的项目已经在用jQuery,那写法会更简洁,毕竟jQuery的选择器天生擅长这种层级定位:
// 遍历每个questionsDiv容器 $('.questionsDiv').each(function() { // 直接找到当前容器内、包含.green2标签的option里的隐藏域 const $hiddenField = $(this).find('.option:has(.green2) input[type="hidden"]'); if ($hiddenField.length > 0) { // 获取ID和值 const fieldId = $hiddenField.attr('id'); const fieldValue = $hiddenField.val(); console.log(`当前题目的正确选项隐藏域ID: ${fieldId}, 值: ${fieldValue}`); // 后续业务逻辑写在这里 } });
小提示
如果你的隐藏域有特定的name属性,还可以把选择器改成input[name="你的隐藏域name"][type="hidden"],这样定位会更精准,避免误选页面上其他无关的隐藏元素。
内容的提问来源于stack exchange,提问作者DotNet Developer
相关产品推荐
相关产品推荐

