我似乎无法更改下拉列表中第一个选项元素的文本。我试过了:
var e_option = document.getElementsByTagName("option");
e_option[0].text = "Selectionnaire";
和
var e_option = document.getElementsByTagName("option");
e_option[0].innerHTML = "Selectionnaire";
和
var e_option = document.getElementsByTagName("option");
e_option[0].innerText = "Selectionnaire";
然而,似乎没有任何改变选项的文字。
最奇怪的是:
var e_option = document.getElementsByTagName("option");
e_option[0].style.color = "red";
确实将选项更改为红色字体,
var e_option = document.getElementsByTagName("option");
alert(e_option[0].text);
会提示/弹出选项的当前文本。
这是HTML:
...
<td id="control">
<SPAN CLASS="rsfieldcontrol"><INPUT TYPE=TEXT CLASS="rsfieldcontrol" MAXLENGTH=20 SIZE=38 TABINDEX="70" NAME="CONTACTVERIFY1businessPostalCode" VALUE=""></SPAN>
</td>
<td>
</td>
<td>
<SPAN CLASS="rsfieldlabel">Pays :</SPAN>
</td>
<td id="control">
<SPAN CLASS="rsfieldcontrol">
<SELECT CLASS="rsfieldcontrol" TABINDEX="110" NAME="CONTACTVERIFY1businessCountry">
<OPTION LABEL=" - Select an option - " VALUE=" - Select an option - "> - Select an option - </OPTION>
<OPTION LABEL="Afghanistan" VALUE="Afghanistan">Afghanistan</OPTION><OPTION LABEL="Albania" VALUE="Albania">Albania</OPTION>
//I cut out the other 200 odd countries here
<OPTION LABEL="Zimbabwe" VALUE="Zimbabwe">Zimbabwe</OPTION></SELECT></SPAN>
</td>
</tr>
<tr>
<td width="30px">
</td>
<td style="font-weight:bold;">
<SPAN CLASS="rsfieldlabelrequired">* Courriel :</SPAN>
</td>
...
请注意,所有select,option和span标签都是由LexisNexis InterAction生成的,我无法更改代码。这就是为什么我使用javascript将第一个选项从英语更改为法语。
任何帮助都将不胜感激!!
答案 0 :(得分:0)
Woops!
正在显示选项标记的label属性的值,而不是选项开始和结束标记之间的文本。因此我只需要写:
var e_option = document.getElementsByTagName("option");
e_option[0].setAttribute("label", "");
e_option[0].text = " - Selectionner - ";
甚至
var e_option = document.getElementsByTagName("option");
e_option[0].setAttribute("label", " - Selectionner - ");
感谢您的意见和帮助!