我有一個形式,其中一個頁面: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 –