我想更改标记名td下的select的ID

时间:2018-07-09 15:26:01

标签: javascript jquery html ajax html5

这是我的代码:

<tr>
<td class="demo">
    <label>nemo#2 Gender</label>
    <select id="custG2" required="required">
        <option>....</option>
        <option>M</option>
        <option>F</option>
    </select>
</td>
</tr>

<tr>
<td>
    <label>nemo#2 Gender</label>
    <select id="custG2" required="required">
        <option>....</option>
        <option>M</option>
        <option>F</option>
    </select>
</td>
</tr>

(上面两个是开头的类)

我想借助jQuery或Javascript更改“ select”(不是两个都不是)标记之一的ID。任何帮助表示赞赏。

已编辑: 即使我可以更改其ID,也可以完成工作。

2 个答案:

答案 0 :(得分:1)

document.querySelectorAll('select[id="custG2"]')将返回所有id="custG2"的元素,因此只需更改此id中元素的NodeList属性。

var menus = document.querySelectorAll('select[id="custG2"]');
menus[0].id = 'new_id_1';
menus[1].id = 'new_id_2';
menus[1].disabled = true;
console.log(menus[0]);
console.log(menus[1]);
<table>
    <tbody>
        <tr>
            <td class="demo">
                <label>nemo#2 Gender</label>
                <select id="custG2" required="required">
                    <option>....</option>
                    <option>M</option>
                    <option>F</option>
                </select>
            </td>
        </tr>
        
        <tr>
            <td>
                <label>nemo#2 Gender</label>
                <select id="custG2" required="required">
                    <option>....</option>
                    <option>M</option>
                    <option>F</option>
                </select>
            </td>
        </tr>
    </tbody>
</table>

但是我不明白为什么您给两个项目都使用相同的ID。

答案 1 :(得分:0)

使用Jquery,此代码应适用于您的丈夫

$(document).ready(()=>{
    $(select:first).attr("id") = "Whatever";
});

我认为使用CSS选择器和attr函数是最好的方法