javascript - 选择/选中 td 类中的第一个复选框?
问题描述
我目前正在尝试找出一种方法来选择在页面上具有以下 HTML 的第一个复选框(我不确定它在技术上是否是单选按钮)(http://www.swagbucks.com/polls) :
<td class="pollCheckbox"></td>
我一直在使用以下代码来尝试选择页面上 4 个复选框的第一个复选框:
// ==UserScript==
// @name SBPollSelectv2
// @version 1.0
// @description Demonstration script to change form values
// @include *
// @grant none
// ==/UserScript==
var tds = document.getElementsByTagName("td");
for (var i = 0; i<tds.length; i++) {
// If it currently has the pollCheckbox class
if (tds[i].className == "pollCheckbox") {
// Select first button
document.getElementsByClassName("pollCheckbox")[0].checked = true;
}
}
我相信最后一行代码是缺陷所在。我可以通过标签选择所有的TD元素,然后尝试按类排序。然后我需要选择给定类的第一个复选框。不幸的是,我的代码不起作用。我需要弄清楚如何选择具有类名的第一项,然后选择该复选框。任何和所有的帮助都会很棒。
解决方案
它们实际上不是复选框或单选按钮 - 它们<td>
的样式看起来像单选按钮,因此分配给.checked
将不起作用。相反,调用你想要click()
的td
,站点的 JS 将使它看起来被选中:
document.querySelector('td.pollCheckbox').click();
包含该单行代码的用户脚本将使第一个 td 显示为选中。
因为您只想选择第一个 td
相似的单选按钮,所以不需要循环,您可以只使用querySelector
返回与选择器字符串匹配的第一个元素。
推荐阅读
- c# - 如何在 C# Hybridizer CUDA 代码中创建新对象
- c# - 我希望有一个文本框在用户输入错误字符时提醒他们
- python - pygal 渲染系列为隐藏
- javascript - 将子组件文本字段的值设置为父组件下拉选择?
- amazon-web-services - LetsEncrypt 不通过 AWS EKS 中的 Kubernetes 入口和负载均衡器进行验证
- f# - F# 中的位移位
- ios - 致命错误:确保您已注册类型“用户”:文件
- javascript - 已删除 srcset 候选“
" 对于所有图像 - reactjs - 如何通过本机反应修复ios上的边框半径?
- python - 在 mpi4py 中实现 Scatterv 时出现关键字错误