0

我正在使用 jQuery 在 DOM 中选择元素,我尝试了以下操作:

$(document).ready(function() {

      $("a").toggle(function(){
        $("div[@id=SomeID]").hide('slow');
        },function(){
        $("div[@id=SomeID]").show('fast');
       });

});

在 html 源代码中,我确实有这个部分:

<div id="SomeID">

      <!-- div code -->

</div>

但是,当我单击锚标记时,出现以下错误:

语法错误,无法识别的表达式:div[@id=SomeID]

关于这里出了什么问题的任何想法?我是 jQuery 和 javaScript 的初学者,非常感谢任何帮助。

4

2 回答 2

4

id在 jQuery 中按元素选择元素,请使用与 CSS 中相同的语法:

$('#someID');

要使用属性等于选择器格式,请使用:

$('div[id="someID"]');

参考:

于 2012-09-26T22:19:04.670 回答
1

您正在使用错误的选择器。ID 必须以#开头

这些是有效的

$("#SomeID").hide('slow'); //  element with id SomeID , can be any element
$("div#SomeID").hide('slow'); //  Div with id SomeID
$("div[id=SomeID]").hide('slow'); //  Div with id SomeID
$("div[id^=SomeID]").hide('slow'); //  Div id that starts with SomeID
$("div[id*=SomeID]").hide('slow'); //  Div id that has SomeID in its id attribute
$("div[id=SomeID]").hide('slow'); //  Div id that ends with SomeID
于 2012-09-26T22:28:17.167 回答