0

我有一段代码如下

$('#go-back').click(function () {
    flipStep(currentStep - 1);
});

因此,当我单击任何 ID 为 go-back 的内容时,它会运行我的函数 flipStep,但是当我单击除 ID 为 go-back 的第一个元素之外的任何内容时,它不起作用?为什么是这样?我如何解决它?

4

2 回答 2

1

ID 必须是唯一的

HTML4 规范:

http://www.w3.org/TR/html4/struct/global.html(第 7.5.2 节):

id = name [CS] 此属性为元素分配名称。此名称在文档中必须是唯一的。

HTML5 规范:

http://www.w3.org/TR/html5/elements.html#the-id-attribute

id 属性指定其元素的唯一标识符 (ID)。该值在元素的主子树中的所有 ID 中必须是唯一的,并且必须包含至少一个字符。该值不得包含任何空格字符。

于 2013-08-04T18:15:18.513 回答
0

我希望您需要选择所有元素 id 等于返回

$('[id$="go-back"]')).click(function () {
    flipStep(currentStep - 1);
});

属性以选择器结尾([attr$=value])

如果 id condins 任何地方,那么你可以尝试

$('[id$*="go-back"]')).click(function () {
    flipStep(currentStep - 1);
});

如果 id 以然后你可以使用

$'[id$^="go-back"]')).click(function () {
    flipStep(currentStep - 1);
});

id 以 selector 开头 多重选择器

希望对你有帮助 :)

于 2013-08-04T18:21:20.900 回答