如何使用jQuery获取嵌套锚标记的文本?

时间:2011-05-04 17:50:56

标签: jquery

毋庸置疑,但我对jQuery非常陌生......

我有复选框列表,在用户选择了一些之后,我正在尝试构建一个jquery调用,它将检索所选复选框的文本。这就是我的......

我的复选框列表(这实际上是一个较长的列表)

<li><input type="checkbox" value="1099511627776" name="group[42][1099511627776]" id="mce-group[42]-42-0"><label for="mce-group[42]-42-0"><a class="screenshot" rel="images/pass1.png">Good Luck. Pass It On.</a></label></li>
<li><input type="checkbox" value="2199023255552" name="group[42][2199023255552]" id="mce-group[42]-42-1"><label for="mce-group[42]-42-1"><a class="screenshot" rel="images/pass2.png">You’re One Of The 8 Special Women...</a></label></li>
<li><input type="checkbox" value="4398046511104" name="group[42][4398046511104]" id="mce-group[42]-42-2"><label for="mce-group[42]-42-2"><a class="screenshot" rel="images/pass3.png" id="keep">Keep It Up</a></label></li>

我构建的jQuery脚本在下面是我无法弄清楚的。基本上我想检索锚标签中的文本......祝你好运。传递它。,你是8位特殊女性之一...,坚持下去

<script type="text/javascript">
        function displayVals() {
            var selectData = $('input:checked').map(function() {
                                                return "<p id='choice'>" + $('a.screenshot') + "</p>";
                                                }).get().join('');
            $("p.#you_selected").html(" <b>YOU HAVE CHOSEN:</b> <br>" +  "<div id='choice_list'>" + selectData + "</div>" );
        }
        displayVals();
        $(":checkbox").click(displayVals);
    </script>

2 个答案:

答案 0 :(得分:1)

这是working example。 JS看起来像这样:

$(document).ready(function () {

    $('input:checkbox').click(function () {

        //alert('clicked');

        var texts = new Array();

        $('input:checked').each(function () {
            texts.push($(this).siblings('label').children('a.screenshot').text());
        });

        alert(texts);
    });  
});

享受!

答案 1 :(得分:0)

首先,您需要找到label的{​​{1}}属性与所选复选框的for相匹配,并找到其中包含id标记文字的内容:

a

工作示例:http://jsfiddle.net/hunter/ZSmRC/