繁体   English   中英

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

[英]How to I get the text of my nested anchor tag using 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>

这是一个工作示例 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);
    });  
});

享受!

首先,您需要找到一个labelfor属性与选中的复选框的id匹配,并找到它a标签文本:

function displayVals() {
    var selectData = $('input:checkbox:checked').map(function(n, i) {
        var text = $("label[for='" + i.id + "'] a").text();
        return "<p id='choice'>" + text + "</p>";
    }).get().join('');

    $("p.#you_selected").html(" <b>YOU HAVE CHOSEN:</b> <br>" 
        + "<div id='choice_list'>" + selectData + "</div>");
}

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM