2

我似乎无法更改下拉列表的第一个选项元素的文本。我试过了:

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>&nbsp;

    </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">&nbsp;

    </td>
    <td style="font-weight:bold;">
        <SPAN CLASS="rsfieldlabelrequired">* Courriel :</SPAN>
    </td>
      ...

请注意,所有的 select、option 和 span 标签都是由 LexisNexis InterAction 生成的,我无法更改代码。这就是我使用 javascript 将第一个选项从英语更改为法语的原因。

任何帮助,将不胜感激!!

4

1 回答 1

0

哎呀!

正在显示选项标签的标签属性值,而不是选项开始和结束标签之间的文本。因此我只需要写:

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 - ");

感谢您的意见和帮助!

于 2013-02-01T21:51:47.387 回答