Javascript 使td内容优先选择选项
有没有办法找到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
<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。过来看: