无法使用jquery

时间:2018-05-23 12:58:49

标签: javascript jquery jquery-selectors

我的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选择器: -

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

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

1 个答案:

答案 0 :(得分:1)

使用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>' );