场景:一个名为index.html的大型页面,一切都在这里发生。 索引有10个选项卡(jquery ui选项卡)。使用jquery ui的手风琴小部件,每个标签现在平均有3-5个子类别(我被拒绝发布图片作为垃圾邮件预防,但我希望您了解布局的样子)。这是问题的起点。一个iframe驻留在所有这些中,所以我在每个iframe中查看25-30个iframe,大约有5-10个文本字段。我想要做的只是启用/禁用这些文本字段。
很简单,我知道这可以通过以下方式完成:
$('input[type=text]').attr("disabled", "disabled");
$('input[type=text]').removeAttr("disabled")
索引上的按钮会触发一个功能:
$(".frameClass").each(function () {
console.log("i found a frame called " + this.name);
});
如何在点击时启用所有输入文本字段的此连接?我甚至尝试在iframe中创建一个函数,并尝试在.each()
this.unlockFields();
没有找到我,有什么想法吗?
答案 0 :(得分:1)
您必须使用.contents()
来访问iframe中的元素,如下所示:
$(".frameClass").each(function () {
$(this).contents().find('input[type=text]').attr('disabled', 'disabled');
});
应该做你想要的,因为iframe包含一个与主页面在同一个域的页面。
答案 1 :(得分:0)
试试这个:
var iframes = $('iframe');
iframes.each(function(index, iframe) {
var iframe_content = ($.browser.msie ? $(iframe.contentWindow.document) : $(iframe.contentDocument));
iframe_content.find('input[type=text]').attr({disabled:'disabled'});
});