组合jquery代码的多个实例

时间:2012-07-22 10:56:05

标签: jquery instances

我目前正在使用以下内容来切换多个div,但我想知道我是否可以将所有这些组合成一个?

<script type="text/javascript">
$(document).ready(function() {
    $("#tvehicle").click(function() {
        $("#div7").toggle();
    });
});
</script>

<script type="text/javascript">
$(document).ready(function() {
    $("#tvehicle2").click(function() {
        $("#vehicle2").toggle();
    });
});
</script>

<script type="text/javascript">
$(document).ready(function() {
    $("#tproperty").click(function() {
        $("#div8").toggle();
    });
});
</script>

<script type="text/javascript">
$(document).ready(function() {
    $("#thproperty1").click(function() {
        $("#hproperty1").toggle();
    });
});
</script>

<script type="text/javascript">
$(document).ready(function() {
    $("#thproperty2").click(function() {
        $("#hproperty2").toggle();
    });
});
</script>

<script type="text/javascript">
$(document).ready(function() {
    $("#thproperty3").click(function() {
        $("#hproperty3").toggle();
    });
});
</script>

3 个答案:

答案 0 :(得分:1)

    <script type="text/javascript">
$(document).ready(function(){
 $("#tvehicle").click(function(){
  $("#div7").toggle();
 });

$("#tvehicle2").click(function(){
 $("#vehicle2").toggle();
});

//AND SO ON...

});
</script>

您可以将所有功能放在一个document.ready函数中。像上面一样:))...你也不必为每个函数都有新的<script>标签。

答案 1 :(得分:1)

为所有div添加一个类,例如:

<div id="tvehicle2" class="toggleable"> ... </div>

然后你可以这样做:

$(".toggleable").click(function () {
    $(this).toggle();
});

如果您不希望(或不能)向所有可切换项添加类,您还可以在选择器中组合多个id-references:

$('#tvehicle1, #tvehicle2, #tv3').click(function () {
    $(this).toggle();
});

答案 2 :(得分:0)

您可以使用数据属性指定要切换的元素。 example

$(document).ready(function(){
var toggler = function() {
   var toToggle = $(this).data().toggleId; //Id of an element to toggle

   $("#" + toToggle).toggle();        
};

$(".togglers").on("click", ".toggler", toggler);
});

HTML结构

<div class="togglers">
<div class="toggler" data-toggle-id="to-toggle-1">Click to toggle 1</div>

<div class="to-toggle" id="to-toggle-1">I will be toggled #1</div>

<div class="toggler" data-toggle-id="to-toggle-2">Click to toggle 2</div>

<div class="to-toggle" id="to-toggle-2">I will be toggled #2</div>

<div class="toggler" data-toggle-id="to-toggle-3">Click to toggle 3</div>

<div class="to-toggle" id="to-toggle-3">I will be toggled #3</div>
</div>​