我有一个形式,其中一个页面:jQuery发现不能使用属性选择器?
$('form').find('input[type=submit]')
给[undefined]
- 但
$('form input[type=submit]')
按预期工作...
它是正常的吗?
我有一个形式,其中一个页面:jQuery发现不能使用属性选择器?
$('form').find('input[type=submit]')
给[undefined]
$('form input[type=submit]')
按预期工作...它是正常的吗?
两个工作正常
console.log($('form').find('input[type=submit]').val());
console.log($('form input[type=submit]').val());
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form>
<input type="submit" value="somevalue" />
</form>
现在为什么这被低估?它回答问题 –
@ A.Wolff感谢您的捍卫。通常选票赢了 –
你应该表现出更多的代码,但如果你正在undefined
您可能没有实际加载的jQuery库。
如果你是Windows桌面上,您的浏览器可能有开发工具(通常为F12),你可以用它来查看JavaScript控制台和调试(步)你的代码,因为它执行。
jQuery选择器的返回值是一个数组,通常用于验证您是否选择了单个元素,只需检查此数组的长度(假设jQuery已正确加载,您可以通过将jQuery
键入控制台应显示function(a,b){...}
或类似的,而不是抛出一个关于未定义的引用的异常)。
为了测试这些例子,首先打开你的JavaScript /开发工具控制台,然后单击运行片段
运行的代码(jQuery是加载)
var $elem = $("form input[type='submit']");
if ($elem.length === 1) {
if (console) console.log("found the element");
} else {
if (console) console.log("did not find the element (could inject it, or log error, etc.)");
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form>
<input type='submit' value='Submit form' />
</form>
非工作代码(jQuery未加载)
try
{
var $elem = $("form input[type='submit']");
if ($elem.length === 1) {
if (console) console.log("found the element");
} else {
if (console) console.log("did not find the element (could inject it, or log error, etc.)");
}
}
catch (ex)
{
if(console)console.log(ex.message);
}
<form>
<input type='submit' value='Submit form' />
</form>
如果您希望任何人认真考虑你的问题,包括你的全部代码。 – Nit
它的工作原理!例如提供复制您的问题 –
当我看到两个变种作品http://jsbin.com/ticoci/1/edit?js,console –