這是一個有點爭議的問題,但我仍然很好奇爲什麼後面兩行不相等。使用jQuery選擇輸入內容的一部分
$("#boink").selectionStart = 3;
document.getElementById("boink").selectionStart = 3;
工作示例來自this question。由於某些原因,jQuery提取的控件沒有屬性selectionStart也不是selectionEnd。
如果我仍然要應用jQuery選擇器,應該使用什麼呢?
這是一個有點爭議的問題,但我仍然很好奇爲什麼後面兩行不相等。使用jQuery選擇輸入內容的一部分
$("#boink").selectionStart = 3;
document.getElementById("boink").selectionStart = 3;
工作示例來自this question。由於某些原因,jQuery提取的控件沒有屬性selectionStart也不是selectionEnd。
如果我仍然要應用jQuery選擇器,應該使用什麼呢?
將返回jQuery對象,而不是原來的DOM元素控制本身。要獲得控制權,您必須採用.get
方法或使用[]
元素:
$("#boink")[0].selectionStart = 3;
$("#boink").get(0).selectionStart = 3;
這是因爲是一個jQuery對象,而不是DOM元素本身。爲了使這兩行等同您應該做
$("#boink")[0].selectionStart = 3;
該數組包含所有匹配的DOM元素。既然你的ID選擇,一個元素可以匹配的最讓你隨便挑使用的第一個[0]
你可以隨時使用
$("#boink")[0].selectionStart = 3;
哦,沒錯。我認爲,當我們使用#-sign去id時,不需要指定數組中的第一個元素。我的錯... –