jQuery找不到具有指定id的div

时间:2014-03-31 07:39:30

标签: javascript jquery dom html

我使用jQuery来查找具有特定id的div,除了它返回null。这很奇怪,因为试图找到其他div工作得很好。

Jquery

$(document).ready(function()
{
    //Finds parent div without a problem
    console.log($('#next-sheet'));

    //Returns null, can't find the div I really need
    console.log($('#start-course'));

    //Also returns null
    console.log($('#next-button'));

    //Still returns null, can't find the div
    console.log($('#next-sheet #start-course'));
});

HTML

<div id='next-sheet'>
    <a href="/courses/start/<?php echo $data['Courses']['Course']['id']; ?>" class='right disable-hover'>
        <div class='button' id='start-course next-button' data-callbackdata="<?php echo $data['Courses']['Course']['name']; ?>" >Start Course</div>
    </a>
    <div class="clear"></div>
</div>

这很奇怪,我正在使用.ready函数,所以html可用,因为它可以找到父div。但是当我试图找到孩子div时,它找不到任何东西。

jQuery正确加载,与所有其他东西一样。它只是静态HTML。我正在使用CakePHP,但这应该不是问题。

我在这里缺少什么?

4 个答案:

答案 0 :(得分:6)

由于id是唯一的,因此元素只能有一个id,因此请使用:

id='start-course'

或:

id='next-button'

而不是:

id='start-course next-button'

答案 1 :(得分:2)

  

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

id =&#39; start-course next-button&#39; 确定。尝试使用 start-course_next-button

如果您希望通过多个名称&#34;来找到控制权。使用类

<div class="class1 class2"/>

这应该没问题

   console.log($('.class1'));
   console.log($('.class2'));
   console.log($('.class1.class2')); 

答案 2 :(得分:1)

您不能为同一元素提供多个ID -

id='start-course next-button'  // this is wrong

虽然你可以有多个这样的分类 -

class='button start-course next-button' // you will need to replace # with . 

答案 3 :(得分:0)

您也可以尝试“结束时”选择器

$("element[id$='txtTitle']")

$("div[id$='next-button']")