在Jquery中更改变量选择器的属性?

时间:2015-03-12 04:26:02

标签: javascript jquery variables attributes selector

我正在玩一些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。

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

感谢任何帮助。

2 个答案:

答案 0 :(得分:1)

这样做:  tabChosen =“#”+ tabChosen; //放入'#id'格式

答案 1 :(得分:0)

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

<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>