我目前正在使用遺留代碼來試圖讓它在新的瀏覽器中正常工作。該代碼是寫在Struts 1.3和利用了HTML標籤庫的廣泛以下方式:有沒有簡單的方法來添加struts 1.3 html styleId屬性而不觸及每個元素?
<html:text property="myTextInput" maxlength="10"/>
將會產生渲染的時候下面的HTML:
<input name="myTextInput" type="text" maxlength="10" value="">
在舊版本的IE ,即使該元素僅具有name
屬性並且沒有id
屬性,也可以使用document.getElementById('myTextInput')
獲取參考。使用jsp html標記時,name
屬性會在html代碼中生成name
屬性,但不會生成id
屬性。
我發現添加styleId
到JSP中的HTML標籤不添加id
屬性生成的XML,但這意味着我將不得不觸及每一個HTML標記元素中的所有JSP的,改變它類似於:
<html:text property="myTextInput" styleId="myTextInput" maxlength="10"/>
我還發現document.getElementByName()
,但這會導致接觸了大量的JavaScript和也(由於惡劣的代碼),我不知道它是否真的是指一個元素由id
或name
所以這可能會導致一些問題。
有沒有簡單的方法來添加styleId屬性而不觸及每個元素?