[英]Witchcraft in Javascript manipulating DOM?
我在 HTML 上有 3 個 HiddenFor Razor Strings,它將值傳遞給模型 C#。
然后我有一個帶有三個 Dropzones 的 javascript(用於拖放的 js 庫)。 此時將有三個“刪除事件”將填充該 hiddenforValues。
為此,我測試了 3 種不同的語法:
document.getElementById().value
document.querySelector().value
$('#Element').value
但我注意到一些奇怪的事情:對於前兩個 hiddenfor querySelector 和 Jquery 方法工作正常,但是對於第三個只有document.getElementById
可以工作(否則值將作為空發送)。 同時,如果我多次使用它,則無法識別document.getElementByID
。
因此,如果我對其中兩個使用 Jquery,對最后一個使用document.getElementById
,這將正常工作。
問題是……為什么?
唯一不同的是第三個字符串里面有“,”。
Jquery 不使用特殊字符或類似的東西?
我的代碼有效,但我只是對那個有問題的功能感到好奇。
你最好使用$('#Element').val()
代替。
$(*)
返回一個jQuery collection
,它有很多methods
但沒有像value
這樣的option
。
document.querySelector
和$()
都接受用於標識目標的 css 選擇器字符串。 在 CSS 中, ,
分隔選擇器。
因此, $('#a,b')
將查找 ID 為 "a"或b
元素的元素,而document.getElementById('a,b')
將生成 ID 為 "a,b" 的元素。
要在 jQuery 中模擬這種行為,您需要編寫$('*[id="a,b"]');
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.