【问题标题】:How to get child span using jquery?如何使用 jquery 获取子跨度?
【发布时间】:2013-10-21 23:42:14
【问题描述】:

我的结构如下:

<span class="IN-widget">
    <span>
        <span class="IN-top">
            <span class="IN-top">
                <span class="IN-top" >
                    <span class="IN-top">
                        3
                    </span>
                </span>
            </span>
        </span>
    </span>
    <br/> 
    <span>
        <span>
            <a href="javascript:void(0);">
                <span>
                    in
                </span>
                <span>
                    <span>
                    </span>
                    <span>
                        Share
                    </span>
                </span>
            </a>
        </span>
    </span>
</span>

我想将“共享”替换为“未共享”。我已经尝试了下面的代码并使用它我得到“InShare”。

$(window).load(function () {
        alert($('.IN-widget').children('span').eq(1).text());
    });

请帮助我如何做到这一点。

【问题讨论】:

  • 为什么你使用的跨度太大
  • 为什么不在元素上使用任何类或 id 并尝试替换它。
  • @Shekhar 它是从第三方动态生成的..
  • 如果它是动态的,你怎么知道每次跨度在哪里?它总是会是相同的结构吗?
  • 试试$('.IN-widget').find('span:Contains("Share")').not(':has(*)').text('Not');

标签: jquery asp.net replace find html


【解决方案1】:
alert($('.IN-widget a').children('span').children('span').eq(1).text());

【讨论】:

    【解决方案2】:

    您可以使用过滤器来查找包含“分享”的元素:

    $(".IN-widget span").filter(function() {
       return $.trim($(this).html()) === "Share"; 
    }).text("Not Shared");
    

    JsFiddle

    【讨论】:

      【解决方案3】:

      试试

      $('.IN-widget').find('span:contains("Share")').not(':has(*)').text('Not');
      

      【讨论】:

      • @Visions 是一个错字...已修复
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-09-02
      • 2021-11-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多