在iframe子项中使用jquery按名称

时间:2016-07-26 22:15:33

标签: jquery iframe checkbox parent-child

我有一个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;
   }
&#13;
&#13;
&#13;

1 个答案:

答案 0 :(得分:1)

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

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

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

将检查类dow0的所有复选框。这假设您没有在iframe之外使用相同类名的任何其他复选框。如果不是这样,你可以加入一个限制性更强的选择器:

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

这就是说在checked的任何元素中将true属性设置为dow0,该元素包含在标识为AppBody的元素中。{/ p>