我使用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,但这应该不是问题。
我在这里缺少什么?
答案 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']")