无法按ID选择对象,只能通过jQuery类选择?

时间:2015-11-05 22:21:33

标签: jquery css button

我想要点击一系列按钮,具体取决于页面末尾的哈希值,这可以根据与页面的交互性而改变。我可以通过按类(.fullscreen-button')选择按钮以及它们在按钮数组中的编号来完成这个任务,但是我不能通过使用它们的唯一ID来选择相同的按钮。我宁愿用他们的ID来选择它们,因为它们在数组中的顺序可以改变。

这是我的函数,通过类方法...

$(function() {
        if ( document.location.href.indexOf('#Programming') > -1 ) {
            $('.fullscreen-button')[0].click();
        } else if ( document.location.href.indexOf('#3D') > -1 ) {
            $('.fullscreen-button')[1].click();
        } else if ( document.location.href.indexOf('#Acting') > -1 ) {
            $('.fullscreen-button')[2].click();
        } else if ( document.location.href.indexOf('#Audio') > -1 ) {
            $('.fullscreen-button')[3].click();
        }
    });

...这就是我尝试使用ID方法但不起作用的方法......

$(function() {
        if ( document.location.href.indexOf('#Programming') > -1 ) {
            $('#Programming for Web').click();
        } else if ( document.location.href.indexOf('#3D') > -1 ) {
            $('#3D Design').click();
        } else if ( document.location.href.indexOf('#Acting') > -1 ) {
            $('#Acting').click();
        } else if ( document.location.href.indexOf('#Audio') > -1 ) {
            $('#Audio Editing').click();
        }
    });

为什么在这种情况下不按照ID选择对象?

编辑:好吧,那是那些空间。感谢大家的帮助!

2 个答案:

答案 0 :(得分:3)

您不应该在ID字符串中使用空格。 http://www.w3.org/TR/html4/types.html

但是,如果这样做,则需要在jquery中转义空格以选择它。否则$("#Programming for web")会在{}中寻找<web>

<div id="Programming">
  <for>
     <web/>
  </for>
</div>

要选择[此无效] ID字符串,您可以使用:$("#Programming\\ for\\ web")

答案 1 :(得分:0)

你不能在div id名称中包含空格,这就是为什么只删除空格并且它会起作用:)