jQuery show方法不起作用

时间:2013-04-10 11:48:46

标签: jquery show-hide

我不知道为什么这个简单的事情不起作用。

请帮帮我。

http://jsfiddle.net/VYqdt/

function showDivs(activediv) {
    $("#tabs > div").hide();
    $(activediv).show();
}

//while activediv is a 
    showDivs($(this).attr("href"));

2 个答案:

答案 0 :(得分:1)

你的div id是

<div id="#2013-04-20">#2013-01-02 content</div>

和选择器变为

$('#2013-04-20').show(); //which is selecting a div with "id='2013-04-20'" 

并且由于您的#位于id的前面..选择器将无法找到该元素

所以试试这个

 <div id="2013-04-20">#2013-01-02 content</div> //remove the # in id
  <div id="2013-03-20">#2013-03-20 content</div> //remove the #

working fiddle

,是的,最好避免以数字开头的id ....

答案 1 :(得分:1)

有几个问题。

首先,ID不应以数字开头。 From the spec

  

ID和NAME令牌必须以字母([A-Za-z])开头,可能是   后跟任意数量的字母,数字([0-9]),连字符(&#34; - &#34;),   下划线(&#34; _&#34;),冒号(&#34;:&#34;)和句号(&#34;。&#34;)。

第二次,您应该从href中移除#,并在需要时在方法中应用。

此处a working fiddle(我在您的ID中添加了a,因此他们没有以数字开头)。