无法使用 jquery 获取输入元素的第二个父级

Unable to get the second Parent of my Input element using jquery

我的 Web 应用程序中有以下标记,其中有一个输入元素,现在我想将下面跨度的文本从“-”更改为其他内容。

现在是标记:-

<span dir="none">
    <table id="OrderQuickOrder_a91a0ce2-7fb6-4c9c-97f5-e851cf4f10a6_MultiChoiceTable" cellspacing="1" cellpadding="0">
        <tbody>
         <tr>
            <td>
            <span class="ms-RadioText" title="Yes">
            <input id="OrderQuickOrder_****_MultiChoiceOption_0" type="checkbox">
            <label for="OrderQuickOrder_**_MultiChoiceOption_0">Yes</label>
            </span>
            </td>
        </tr>
        </tbody>
    </table>
</span>
<span class="ms-metadata">-</span>

这是我的 jQuery select 或者:-

$('input[id^="OrderQuickOrder_"]').parent('span').parent('span').nextAll('span').after('<a id="dialogtrigger" href="/*****" target="_blank">Items Order</a>' );

但是上面的代码并没有改变任何东西。我认为 .parent('span').parent('span') 无法 select 输入元素的直接父跨度的父跨度...

使用 parents() 进行选择:

https://jsfiddle.net/fLb89q4p/

$('input[id^="OrderQuickOrder_"]').parents()
     .nextAll('span')
     .after('<a id="dialogtrigger" href="/*****" target="_blank">Items Eligable for Quick Order</a>' );

如果要删除文本并插入新文本,请使用:

$('input[id^="OrderQuickOrder_"]').parents()
     .nextAll('span')
     .text('')
     .after('<a id="dialogtrigger" href="/*****" target="_blank">Items Eligable for Quick Order</a>' );