在 iframe child 中使用 jquery 按名称检查复选框

using jquery in iframe child to check checkboxes by name

我有一个 iframe(同一域),上面有一堆复选框。 我想从父页面获得 javascript 运行 并根据复选框的名称在子页面中标记复选框(它们具有不同的值 - 但我想全部选中)。 iframe 的id 和名称都是AppBody。我关心的所有复选框都命名为 dow0.

已更新以包括我现在所处的位置,深入挖掘复选框。

alert("start");
var iframe = document.getElementById("AppBody");
var doc = iframe.contentWindow.document;
var widgets= doc.getElementById("widgets");
var detail= widgets.getElementById("Detail");

var checkboxes = doc.getElementsByName("dow0");
alert(checkboxes.length);
    for (var i = 0; i < checkboxes.length; i++) {
         checkboxes[i].checked = true;
   }

虽然您的代码中没有任何 jQuery,但我假设您使用的是 jQuery,因为您的问题已被标记为这样并且没有javascript 标签。

首先,将 class="dow0" 添加到具有该名称的每个元素。 类 比 jQuery 中的名称更容易使用。那么:

$('.dow0').prop('checked', true);

将选中所有带有 class dow0 的复选框。这假设您在 iframe 之外没有任何其他具有相同 class 名称的复选框。如果不是这样,您可以放入一个更严格的选择器:

$('#AppBody .dow0').prop('checked', true);

这就是说在任何具有 class dow0 的元素中将 checked 属性 设置为 true ,该元素包含在具有 id 的元素中AppBody.