[英]javascript - name or id of element
this.form.sel2
是否類似於document.getElementById('sel2')
?
我的 select 標簽如下:
<select size=5 id="sub_player_ids" name="sub[player_ids][]">
當我在 javascript 代碼中輸入標簽名稱時,即sub[player_ids][]
時,出現語法錯誤。 我正在嘗試找到一種解決方法,以便我不想使用元素的名稱,而是使用 id。
但是使用document.getElementById('sub_player_ids')
不起作用。
感謝您提供的任何建議。
請在下面查看我的 javascript 代碼:
<input type="button" value="-->"
onclick="moveOptions(this.form.sel1, this.form.sel2);" /><br />
<input type="button" value="<--"
onclick="moveOptions(this.form.sel2, this.form.sel1);" />
您元素的id
是sub_player_ids
,而不是sel2
。 所以document.getElementById("sub_player_ids")
會起作用。
您可能還會發現this.form["sub[player_ids][]"]
會起作用。 使用帶引號的形式可以讓您使用不能在文字形式中使用的東西。
需要注意的是 IE7 和更早版本有一個損壞的getElementById
版本,它會找到使用給定字符串作為name
而不是id
的東西,即使頁面上稍后的某些東西實際上使用它作為id
。 (是的,真的; 這里有更多內容。)一些庫會為你解決這個問題(例如jQuery就可以)。 實際上,說到庫,一個好的庫確實可以幫助解決各種瀏覽器的不一致問題,並提供許多方便的實用功能,讓您專注於實際的業務問題。 您可能會考慮查看jQuery 、 Prototype 、 YUI 、 Closure或其他幾個。
您可以改用括號表示法:
this.form['sub[player_ids][]']
...或getElementById()
,具有正確的 ID:
document.getElementById('sub_player_ids')
使用document.getElementById('sub_player_ids')
獲取該元素。
你有錯誤的身份證
document.getElementById('sub_player_ids')
驗證您的選項是否包含id
,它只會包含帶有sel2
的name
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.