【问题标题】:Change class using jquery使用 jquery 更改类
【发布时间】:2012-12-14 14:22:16
【问题描述】:

我有一个名为“rgExpandCol”的类的 td,并且想要更改其中的输入类。下面是我的html:

<tr>
    <td class="rgExpandCol">
    <input class="rgExpand" ...
    </td>
<tr>

我已经尝试过这个 jquery,但我得到 $find 为空:

$(this).closest('td').attr('rgExpand', 'rgCollapse');

编辑 :::

基本上是在使用radgrid 并扩展使用

隐藏的行

$(this).closest('tr').next('tr').css('display', '');

并且 $(this) 在我的网格点击事件中是这样的

$("#<%=gv.ClientID%> tr:has(td)").click(function (e) { 

【问题讨论】:

    标签: jquery asp.net class attributes


    【解决方案1】:

    首先你需要选择输入,这可以通过一个选择器来完成:

    var my_input = $(this).find('input.rgExpand');
    

    然后你可以删除它当前的类并添加新的:

    my_input
        .removeClass('rgExpand')
        .addClass('rgCollapse');
    

    【讨论】:

      【解决方案2】:
      $('tr td.rgExpandCol input.rgExpand').removeClass('oldClass').addClass('newClass');
      

      【讨论】:

        【解决方案3】:
        $(this).closest('td').find("input").removeClass("old").addClass("new")
        

        将为 TD 内的输入应用 CSS :)

        【讨论】:

        • 这改变了 td 类,有没有办法让它改变输入类
        • @Sam1 已更新。请注意,如果您想将 CSS 应用于单个输入,请在 find() 函数中使用 ID。更新后的代码会将其应用于该 TD 中的所有输入
        • 这行不通,因为它不一定能找到 TD 的类为 rgExpandCol
        【解决方案4】:

        使用 removeClass() 和 addClass() 进行更改。

        $("#<%=gv.ClientID%> tr:has(td)").click(function (e) {
            e.preventDefault();
            $(this).find('input').addClass('rgExpand').removeClass('rgCollapse');
        });
        

        假设选择器中使用的 id 标识了表。

        【讨论】:

        • 问题是我有很多带有 rgExpand 的类,因此想找到下一个 td 并输入它...
        • 您需要显示更多的标记并更清楚地描述您想要做的事情。你是怎么得到 $(this) 的?
        • 基本上是在使用 radgrid 并扩展使用 $(this).closest('tr').next('tr').css('display', ''); 隐藏的行并且 $(this) 在我的网格点击事件中,所以 $("# tr:has(td)").click(function (e) {
        • 您可以更新您的帖子而不是在评论中发布代码吗?这将使我们更容易合作。
        • 你为什么使用:has(td)?
        【解决方案5】:

        试试这个:

        $('.rgExpandCol > input').removeClass("< existing class >").addClass("< new class >");
        

        【讨论】:

          【解决方案6】:

          所以你想以 td 为目标并更改其中的输入类?

          我会这样做:

          $('.rgExpandCol > input').removeClass('classtoremove').addClass('newclasstoadd');

          【讨论】:

            猜你喜欢
            • 2017-08-22
            • 2015-06-26
            • 2019-02-03
            • 1970-01-01
            • 1970-01-01
            • 2011-10-13
            • 1970-01-01
            • 2019-08-07
            • 2017-11-12
            相关资源
            最近更新 更多