这是我正在使用的xpath
//tr[@id = 'inputSavePaymentAccounts']/descendant::input[@type = 'checkbox' and @name = 'payAck' and @tabindex = '10'
以下是我如何检查复选框
jQuery('.payAck').prop('checked', true)
这是iframe内的支票帐户html
<tr id="inputSavePaymentAccounts" class="savePaymentAccounts" style="display: table-row;">
<td class="addCCLabel" style="padding-top: 15px;">Save this Payment Method</td>
<td style="padding-top: 15px;">
<input class="payAck" type="checkbox" onchange="friendlyNameShow()" name="payAck" tabindex="10">
</td>
</tr>
这是同一iframe内的信用卡html
<tr id="inputSavePaymentAccounts" class="savePaymentAccounts" style="display: table-row;">
<td class="addCCLabel" style="padding-top: 15px;">Save this Payment Method</td>
<td style="padding-top: 15px;">
<input class="payAck" type="checkbox" onchange="friendlyNameShow()" name="payAck" tabindex="25">
</td>
</tr>
主要问题是我使用时:
jQuery(&#39; .payAck&#39;)。prop(&#39; checked&#39;,true)
它勾选复选框但是,当复选框被选中时,我想看到一个文本框显示,这与上面的jquery没有发生。我希望xpath的执行能解决这个问题
查看这些图片以获得更清晰的图片
复选框http://prnt.sc/c12b1p的图像
使用文本框显示选中复选框的图像(需要这样做)http://prnt.sc/c12b7q
答案 0 :(得分:1)
首先,我建议您删除内联JavaScript。在这种情况下,您的主要选择器是一个类,并且该类被分配给2个元素(至少从我在您的示例中看到的)。当您使用带有类选择器的jQuery检查复选框时,它将触发属于该类的所有元素,我不认为这是您打算做的。此外,使用click()将起作用,但这将导致friendlyNameShow()被调用两次,您将需要检查复选框的状态,因为您没有明确地检查/取消检查它。请尝试使用和Id。