我正在尝试检查JS生成的名为tblItems的表中的所有框
我尝试过getElementsByTagName(“ td”),但是它只是将所有内容作为HTML obj加载,并且我无法使用InStr来找到任何可以区分它们的东西。 这就是我试图用来查找可以用来选中复选框的值的方法。
Set AllChkBoxes = appIE.document.getElementById("tblItems").getElementsByTagName("td")
For Each box In AllChkBoxes
If InStr(UCase(box), "") <> 0 Then
MsgBox (box)
Else
MsgBox (box)
End If
Next box
End Sub
这是我试图循环显示值但无法执行的复选框。还有很多其他的td标签名称,但它们只是表或hrefs
中的值<td align="center"><input type="checkbox" name="chkToPay" checked="" value="0"></td>
<td align="center"><input type="checkbox" name="chkToPay" checked="" value="1"></td>
<td align="center"><input type="checkbox" name="chkToPay" checked="" value="2"></td>
<td align="center"><input type="checkbox" name="chkToPay" checked="" value="3"></td>
感谢任何能提供帮助的人。
答案 0 :(得分:1)
可能在下面的代码帮助下,我正在使用jquery:
<table id="tableId">
<tr>
<td align="center"><input type="checkbox" name="chkToPay" value="0"></td>
<td align="center"><input type="checkbox" name="chkToPay" value="1"></td>
<td align="center"><input type="checkbox" name="chkToPay" value="2"></td>
<td align="center"><input type="checkbox" name="chkToPay" value="3"></td>
</tr>
$(document).on("click", '#tableId tbody :checkbox[name="chkToPay"]', function(event) {
var currentRows = $('#tableId');
$.each(currentRows, function() {
$(this).find(':checkbox[name=chkToPay]').each(function() {
if($(this). prop("checked") == true){
var parentTr = $(this).parents("tr");
$(this).prop('checked', true);
alert($(this).val());
// if you need text from another td you can access by below line
//alert(parentTr.children("td").eq(0).text());
}
});
});
});
答案 1 :(得分:1)
将有助于查看更多html。看起来您可以使用例如attribute = value选择器。在下文中,我定位名称属性和关联的值
Dim list As Object, i As Long
Set list = ie.document.querySelectorAll("[name=chkToPay]")
For i = 0 To list.Length - 1
Debug.Print list.item(i).Value
Next
如果存在,您还可以将其与父ID组合
Dim list As Object, i As Long
Set list = ie.document.querySelectorAll("#tableId [name=chkToPay]")
For i = 0 To list.Length - 1
Debug.Print list.item(i).Value
Next
您还可以与其他属性结合使用以增强特异性。
Dim list As Object, i As Long
Set list = ie.document.querySelectorAll("#tableId [type=checkbox][name=chkToPay]")
For i = 0 To list.Length - 1
Debug.Print list.item(i).Value
Next
您明白了。
如果要检查特定的一项,请在value
属性中添加
ie.document.querySelector("#tableId [name=chkToPay][value='1']").Click