jQuery选择器没有像我预期的那样工作

时间:2014-12-24 10:48:27

标签: javascript jquery html

我有一个简单的HTML

<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>

我正在尝试访问“a”,但它给了我未定义的内容。

我不知道我做错了什么,任何帮助都将不胜感激

我试图像这样访问,

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

2 个答案:

答案 0 :(得分:1)

您的代码有效并提供“AL”,但不需要" + "Alberta"+ "。这也有效

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

小提琴: Demo

答案 1 :(得分:0)

将您的代码放入$(document).ready

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

})

或在html之后添加脚本。