如何使用jQuery选择相邻的表格单元格

问题描述 投票:0回答:2

我真的需要你的帮助,

如何从我的选择框中选择相邻的表格单元格并插入一些文本?

似乎以下代码没有像我想象的那样工作,从类名为.selectbox的参考点开始,也许还有更好的方法,所以我愿意接受建议。

$('#fin-code-alot').closest('.selectbox').next().html('test')

这是层次结构/标记:

<table>
    <tr>
        <td>Allotment:</td>
        <td>
            <div class="selectbox">
                <div class="selectric-selectbox">
                <select id="fin-code-alot" class="custom-options">
                    <option value="">&nbsp;</option>
                    <option value="120">120</option>
                    <option value="12D">12D</option>            
                </select>
                </div>
            </div>
        </td>
        <td>Put Some Text Here</td>
        <td></td>
    </tr>
</table>
jquery dom
2个回答
0
投票

您的代码只选择<div class="selectbox">元素,该元素没有下一个兄弟。

您需要选择closest表格单元格,然后选择其next兄弟:

$('#fin-code-alot').closest('td').next('td').text('test')
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table>
    <tr>
        <td>Allotment:</td>
        <td>
            <div class="selectbox">
                <div class="selectric-selectbox">
                <select id="fin-code-alot" class="custom-options">
                    <option value="">&nbsp;</option>
                    <option value="120">120</option>
                    <option value="12D">12D</option>            
                </select>
                </div>
            </div>
        </td>
        <td>Put Some Text Here</td>
        <td></td>
    </tr>
</table>

另外,如果您只插入文本而不是.text(),我建议使用更安全的.html()方法。当然,如果需要插入HTML内容,则需要使用后者。


1
投票

.selectbox没有next(),你需要使用closest('td')进一步向上:

$('#fin-code-alot').closest('td').next().text('test')
© www.soinside.com 2019 - 2024. All rights reserved.