【问题标题】:Unable to get the second Parent of my Input element using jquery无法使用 jquery 获取我的 Input 元素的第二个父级
【发布时间】:2018-05-23 12:58:48
【问题描述】:

我的 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') 无法选择输入元素的直接父跨度的父跨度...

【问题讨论】:

  • 请不要张贴您的代码图片。贴出实际代码。
  • 是的,它使我们可以更轻松地重用可用的代码,而不必重新键入所有代码来调试它
  • @ScottMarcus 好的.. 我提供了实际的标记
  • @Keith 我提供了实际的标记代码..谢谢

标签: javascript jquery jquery-selectors


【解决方案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>' );

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-24
    • 2020-09-04
    • 1970-01-01
    • 2020-03-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多