【问题标题】:change badge colour in code behind在后面的代码中更改徽章颜色
【发布时间】:2015-10-09 15:07:25
【问题描述】:

我需要根据表格的存在来更改跨度的类,进一步向下 html 结构。

基本上,html 是动态构建的,使用 c# 页面上的代码,然后将其附加到 div 标签。这一切都很好,很好,但现在我需要更改跨度标记的类值,如果发现表的存在。

所以,结构看起来像这样:

<tr>
<td><span class="badge badge-default"></td>
<td>some stuff</td>
<td><table id="hitTable"></tr>
</tr>

在上面的例子中,span后面的第二个td确实包含一个id为hitTable的表,在这种情况下,我需要使用JQuery将span的类更改为badge badge-danger。

一旦我确定了表格,我不确定如何向上遍历。

此代码将更改表内的任何跨度,但我如何更改表外的第一个跨度?

$('table[id^="hit"] span').addClass('badge badge-danger');

【问题讨论】:

标签: jquery css


【解决方案1】:

在服务器上动态构建表时,您不只是添加类,这似乎很奇怪。但是,如果您想在客户端上执行此操作,则需要选择表格并向上和向下工作。

$('table[id^="hit"]')  //select the hit table
    .closest("tr")     //find closest tr that contains the table
        .find("> td > span")  //find the span in a child td
            .addClass('badge-danger');  //add the class

其他方法是选择 tr 并使用.has() 来查找带有表格的 trs,而不是选择跨度。

【讨论】:

    【解决方案2】:

    您可以使用 jQuery .lenght 来检查 table#hitTable 是否存在。

    var $object = $('#hitTable');
    if($object.length) {
        $('span.badge').addClass('badge-danger');
    }
    

    http://jsfiddle.net/lddz/9hob9t5k/3/

    【讨论】:

      猜你喜欢
      • 2015-06-03
      • 2022-01-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-20
      • 2012-10-31
      相关资源
      最近更新 更多