在控制台中获取所有带有文本类型的输入? iFrame中的页面[重复]
Posted
技术标签:
【中文标题】在控制台中获取所有带有文本类型的输入? iFrame中的页面[重复]【英文标题】:Get all inputs with type text in console? Page in iFrame [duplicate] 【发布时间】:2014-07-16 16:45:37 【问题描述】:如何在按输入类型(文本|复选框|单选)匹配时将页面上的所有inputs
表单放入数组中?
javascript:
像这样简单的js
会给我所有的inputs
var inputs = document.getElementsByTagName( 'input' );
现在使用 jQuery:
我已加载 jQuery 并尝试过:根据文档 (http://api.jquery.com/text-selector/)
$( "<input>" ).is( ":text" );
$( "<input>" ).is( "[type=text]" );
控制台错误信息:
TypeError: undefined is not a function
message: "undefined is not a function"
stack: (...)
get stack: function () [native code]
set stack: function () [native code]
__proto__: Error
附加信息:
我试图获取text
输入的页面位于 iFrame 中,整个交互在 webkit 中运行。
需要使用 jQuery 从我的主页获取 iFrame 页面上的输入。
【问题讨论】:
除了确保 jQuery 已加载,正确的选择器应该是$(':text')
在这里工作正常:jsfiddle.net/VAL49
@roland jquery 没有加载?这是为什么?我在页面上使用它...
另外,你并不“需要” jQuery 来对文本输入元素进行选择。
您的最后一次编辑彻底改变了问题。
【参考方案1】:
要使用 jQuery 选择输入,您可以这样做
$("input")
不需要括号。
选择所有文本输入
$("input[type='text']")
随着编辑引起的问题的变化,您可以在这里找到答案:Selecting an element in iFrame jQuery
【讨论】:
第二个示例并没有真正选择所有“文本输入”。它只选择带有[type='text']
的输入,细微的差别但很重要。
@WesleyMurch 有什么区别?
例如它不能简单地匹配<input name="foo">
。这真的是您要问的吗,如何在 jQuery 中选择输入?【参考方案2】:
所以给出的答案是准确的,但你也可以这样做
$(':text")
这将为您提供所有文本输入项,在我看来只是更具可读性。 @Robbert 的回答再次准确
【讨论】:
【参考方案3】:您选择所有 type="text" 的输入:
$(':text')
type="checkbox" 的输入使用:
$(':checkbox')
type="radio" 的输入使用:
$(':radio')
编辑以迎合新的iframe
信息
对于 iframe 中的输入,将分别转换为:
$('iframe').contents().find( ':text' );
$('iframe').contents().find( ':checkbox' );
$('iframe').contents().find( ':radio' );
【讨论】:
这并没有用新信息回答问题。 它现在按照上面的更新。以上是关于在控制台中获取所有带有文本类型的输入? iFrame中的页面[重复]的主要内容,如果未能解决你的问题,请参考以下文章
如何打印(在屏幕上)带有外部 url 的 iframe 所需的所有 JS 代码
使用 javascript 从指向不同域的 iframe 中获取选定的文本