2014-12-24 4 views
2

У меня есть простой HTMLселектора JQuery не работает, как я ожидал

<div id="dCA" style="width: 200px; margin-right: 20px; float: left;"> 
    <ul> 
     <li><a href="#" id="AL" onclick="cs('1', this);">Alberta </a></li> 
     <li><a href="#" id="BC" onclick="cs('2', this)">British Columbia</a> </li> 
     <li><a href="#" id="M" onclick="cs('3', this)">Manitoba</a> </li> 
     <li><a href="#" id="NB" onclick="cs('4', this)">New Brunswick</a> </li> 
     <li><a href="#" id="NF" onclick="cs('5', this)">Newfoundland</a> </li> 
     <li><a href="#" id="NS" onclick="cs('6', this)">Nova Scotia</a> </li> 
     <li><a href="#" id="On" onclick="cs('7', this)">Ontario </a></li> 
     <li><a href="#" id="PEI" onclick="cs('8', this)">Prince Edward Is </a></li> 
     <li><a href="#" id="Q" onclick="cs('9', this)">Quebec </a></li> 
     <li><a href="#" id="SK" onclick="cs('10', this)">Saskatchewan </a></li> 
    </ul> 
</div> 

И я пытаюсь получить доступ к «а», но это дает мне неопределенным.

Я понятия не имею, что я делаю неправильно, любая помощь будет оценена

Я пытаюсь получить доступ, как это,

alert($("#dCA").find("ul>li>a:contains('" + "Alberta"+ "')").attr("id")); 
+2

Я получаю «AL» http://jsfiddle.net/qtv44962/ –

+0

То, что вы хотите точно? Код, предоставленный вами, дает идентификатор по мере необходимости. – Aditya

+2

Вы используете код в $ (document) .ready()? – giannisf

ответ

1

Ваш код работает и дает «AL», однако есть нет необходимости " + "Alberta"+ ". Это также работает

alert($("#dCA").find("ul>li>a:contains('Alberta')").attr("id")); 

Fiddle:Demo

0

Поместите свой код в $(document).ready

$(document).ready(function() { 
     alert($("#dCA").find("ul>li>a:contains('Alberta')").attr("id")); 

}) 

или добавить скрипт после HTML.