0

对不起,这个问题含糊不清,但我真的在这里,因为我无法用语言表达我真正的问题,所以我无法谷歌它。这是我正在使用的代码的一部分,我会在下面问我的问题:

<script>
    $(function() {
        $( "#accordion0" ).accordion({
            active: false,
            collapsible: true,
            heightStyle: "content"
        });
        $( "#accordion1" ).accordion({
            active: false,
            collapsible: true,
            heightStyle: "content"
        });
        $( "#accordion2" ).accordion({
            active: false,
            collapsible: true,
            heightStyle: "content"
        });
        $( "#accordion3" ).accordion({
            active: false,
            collapsible: true,
            heightStyle: "content"
        });
    });
</script>
  1. $( "#accordion0" ) 叫什么?我知道“#accordion0”指的是元素的 id。
  2. 我把“.accordion”称为类是对的吗?

然后是我实际尝试做的事情:如何组合代码,这样我就没有 4x 重复的代码。

第二个不太相关的问题是,是否有一个网站列出了这些 jquery ui 小部件的所有选项(例如:“active:false”)。我环顾四周找到了许多单独的示例,但不是完整的列表。

4

6 回答 6

5

$( "#accordion0" ) 叫什么?我知道“#accordion0”指的是元素的 id。

它是一种基于选择器选择 DOM 元素的 jQuery 方法。DOM 元素被包装在一个 jQuery 对象中,因此您可以使用链接。了解 jQuery以了解如何使用它。没有人可以在 stackoverflow 上为您解释。

然后是我实际尝试做的事情:如何组合代码,这样我就没有 4x 重复的代码。

使用所有元素共享的公共类。如果元素上的公共类是class="accordion",您的代码将使用如下所示的类选择器。

 $( ".accordion" ).accordion({
        active: false,
        collapsible: true,
        heightStyle: "content"
    });

第二个不太相关的问题是,是否有一个网站列出了这些 jquery ui 小部件的所有选项(例如:“active:false”)。我环顾四周找到了许多单独的示例,但不是完整的列表。

jQuery UI Docs 将是查看的地方。 http://api.jqueryui.com/accordion/

于 2013-06-26T13:24:18.910 回答
3

这被称为选择器。您正在从您选择的元素创建一个 jQuery 对象。

$('#ID')

这会起作用:

$("#accordion0, #accordion1, #accordion2, #accordion3").accordion({...});

您还可以为每个有问题的元素添加一个类,然后单独选择该类而不是每个 ID。

$('.accordionClass').accordion({...});

有很多关于使用 jQuery 选择器的资源。

例如:W3Schools - jQuery 选择器

于 2013-06-26T13:25:13.747 回答
0

#accordionN是您正在与之交互的元素...#让您知道这accordionN是元素的 ID。

.accordion是您应用于所述元素的 jQuery 方法。

要将方法应用于所有四个而不更改代码,只需将每个元素 ID 添加到选择器中:

$('#accordion0, #accordion1, #accordion2, #accordion3').accordion({
    ...
});
于 2013-06-26T13:26:40.350 回答
0

您可以使用所有#accordionX 所具有的通用类:

<script>
    $(function() {
        $( ".accordion" ).accordion({
            active: false,
            collapsible: true,
            heightStyle: "content"
        });
    });
</script>

它应该做的伎俩,没有看到你的 html 结构我不能更精确。

1) $( "#accordion0" ) 叫什么?我知道“#accordion0”指的是元素的 id。你什么意思 ?$( "#accordion0" ) 是选择器 2) 我将“.accordion” 类称为正确吗?.accordion 不是一个类,而是一个函数调用。

于 2013-06-26T13:28:39.777 回答
0

首先,美元符号创建了一个变量,所以如果您调用 $("#accordion0"),您将创建一个带有 id 为accordion0 元素的 JQuery 变量。这告诉 JQuery 您已准备好对元素进行处理。

第二。

你可以做两件事之一。你可以给他们一个类变量,比如说“someVar”,然后这样做:

$(".someVar").command("foo");

或者你可以

$("#accordion1, #accordion2",.....).command("bar");

这是一个例子。

http://jsfiddle.net/ynmEZ/

http://api.jquery.com/ - 应该有用

于 2013-06-26T13:29:50.157 回答
0

1) "#accordion0" 被称为 jquery 选择器。您使用选择器来选择某些 DOM 元素。

2) ".accordion":这是手风琴类的选择器。

您可以使用这样的选择器: $("[id^=accordion]").accordion({ ... });

检查这个网站,或者也许谷歌的 jquery 选择器。

于 2013-06-26T13:31:25.897 回答