【问题标题】:Changing an attribute of a variable selector in Jquery?在 Jquery 中更改变量选择器的属性?
【发布时间】:2015-03-12 04:26:02
【问题描述】:

我正在玩一些 Jquery 作为一种爱好,但在更改用户单击的任何内容的属性时遇到了问题。我有一堆标签,不想为每个标签创建一个事件,所以我试图把它们都放在一个中。

对不起,如果有点不清楚,我真的不知道 Jquery 事物的词汇。

var tabSelected = "default";
$('body').on("click",".subtab", function() {
                var tabChosen = this.id;
                tabChosen = tabChosen.substring(0, tabChosen.length-1); //cuts off T
                tabChosen = "'#" + tabChosen + "'"; //puts into '#id' format
                $(tabChosen).css('background-color','#E53939');
                $(tabSelected).css('background-color','#FFFFFF');
                tabSelected = tabChosen;
            });

为澄清起见,我为标签和子标签使用了单独的 ID,因此对于具有 Home id 的 div,单击的子标签的 id 是 HomeT。然后 TabChosen 将是 HomeT,我一直在尝试将其操作到我使用的常用 $('#id') 东西中,其中 id 必须是 Home 而不是 HomeT。

我正在尝试更改所单击内容的颜色。此外,我希望用户所在的选项卡改回默认颜色。

感谢任何帮助。

【问题讨论】:

标签: javascript jquery variables attributes selector


【解决方案1】:

这样做: tabChosen = "#" + tabChosen; //输入'#id'格式

【讨论】:

    【解决方案2】:

    有一种方便的方法可以实现这一目标。但它要求所有目标元素都具有相同的类,如下所示:

    <html>
        <script>
            $(document).ready(function(){
    
                $('.subtab').click(function(){
                    $(this).css('background-color', '#E53939')
                    $(this).siblings().css('background-color', '#FFFFFF')
                })
    
            })
        </script>
        <body>
            <div id="t1T" class="subtab">t1</div>
            <div id="t2T" class="subtab">t2</div>
            <div id="t3T" class="subtab">t3</div>
        </body>
    </html>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-02
      • 2012-04-17
      • 2012-03-06
      • 1970-01-01
      • 2022-01-07
      • 2012-04-03
      相关资源
      最近更新 更多