Javascript 使td内容优先选择选项

Javascript 使td内容优先选择选项,javascript,jquery,html,select,replace,Javascript,Jquery,Html,Select,Replace,有没有办法找到td的文本内容,然后将该文本作为选择下拉列表中的第一行或选项 <table class="options"> <tbody> <tr> <td><b>Colour:</b></td> <td> <select> <option

有没有办法找到td的文本内容,然后将该文本作为选择下拉列表中的第一行或选项

<table class="options">
    <tbody>
        <tr>
            <td><b>Colour:</b></td>
            <td>
                <select>
                    <option selected="" value="">Select:</option>
                    <option value="1">Black</option>
                    <option value="2">White</option>
                </select>
            </td>
        </tr>
    </tbody>
</table>
第一个td内容颜色:需要代替第一个选项选择:,基本上。我自己无法完全控制选择列表,因此我必须尝试动态地执行此操作。试图节省空间。理想情况下,我希望在移动内容后也删除td。

$'select'.prepend+$'select'.closest'tr'.find'td:nth-child1'.text+; 颜色: 选择: 黑色 白色
只需从上一个单元格中获取标题并将其置于第一个选项。在这里查看:

试试这个:

// do for all selects on the page
$('select').each(function (index, element) {

    // store the select
    var select = $(element)

    // get the caption from the previous cell
    var caption = select.parent().prev('td').text()

    // put the caption to the first option
    select.find('option').first().html(caption) 
})

如果您希望仅通过JavaScript来实现这一点,请查看以下内容:

添加选项作为第一个值,但作为新值:

var getColor=document.getElementsByTagNametd[0]; var selectedColor=getColor.getElementsByTagNameb[0].innerHTML; var select=document.getElementsByTagNameselect[0]; var option=document.createElementoption; option.text=selectedColor; select.addoption,选择[0]; 颜色: 选择: 黑色 白色
下面是一个快速的纯javascript解决方案。如果可能的话,我会在TD中添加一个类,这样您就可以更好地定位它或类似的东西

var firstTD=document.getElementsByClassName'options'[0].getElementsByTagName'td'[0]; var text=firstTD.innerHTML; var-selectBox=document.getElementsByTagName'select'[0]; var option=document.createElement'option'; option.setAttribute'value'; option.innerHTML=文本; selectBoxFirstChild=document.getElementsByTagName'select'[0].children[0];
选择box.insertbefore选项,选择boxfirstchild;回答得好,不过是什么让你觉得他们在使用JQuery?@Feathercrown我想可能是因为它被标记为JQuery….:谢谢有没有办法删除第一个接收了内容的td?当然,只需使用:var caption=select.parent.prev'td'.text.removeThat似乎不起作用。你介意更新完整的代码吗,以防我把它放错地方了?对不起,我的错。这是有效的:var caption=select.parent.prev'td'.remove.text。过来看: