javascript - 如何从 jQuery 选择器生成的集合中提取数据?

标签 javascript jquery html

只是一个小例子。我有 3 个链接、一个按钮和一个 div:

<a href="#">AAA</a>
<a href="#">BBB</a>
<a href="#">CCC</a>
<button id="getResult">Get result</button>
<div id="result"></div>

现在,当按下按钮时,我想从 3 个链接中获取文本并将它们插入到结果 div 中。这是我的代码:

<script type="text/javascript">
    $(function() {
        $('#getResult').click(function() {
            var links = $('a');
            $.each(links, function() {
                $('#result').append('<p>' + links.html() + '</p>');
            });
        }); // end click
    }); // end ready
</script>

我希望结果会是

AAA
BBB
CCC

不过是

AAA
AAA
AAA

有谁知道为什么以及如何解决这个问题?如果你有更好的方法来做到这一点,你能告诉我吗?我对 jQuery 很陌生。感谢您的帮助。

最佳答案

在您的 .each 函数中,您调用 links.html() 仅获取集合中第一个 元素的 html。您的意思是使用 $(this).html()(可能)。

http://jsfiddle.net/ExplosionPIlls/xZymh/

顺便说一下,您可以重写它以仅使用 .html 方法本身来执行附加操作:

$("a").html(function (_, html) {
    $("#result").append("<p>" + html + "</p>");
});

http://jsfiddle.net/ExplosionPIlls/xZymh/1/

关于javascript - 如何从 jQuery 选择器生成的集合中提取数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16020101/

相关文章:

php - 我如何在 php mysql 的 html 内容中使用特殊字符

javascript - 获取跨度中文本的宽度,文本溢出: ellipsis; at IE11

php - 如何计算表单中的所有复选框(Javascript)

javascript - 如何 "sort"多边形 3d?

javascript - 如何在页面重新加载后输出 jsignature

jquery - 我可以对多个 Ajax 调用使用相同的类名吗

javascript - AngularJS ng-repeat 如何从 jquery 每行添加数据

javascript - 仍在向被破坏的 Controller 范围 Angularjs 广播

javascript - 有没有一种方法可以使用 CSS3 仅在文本的底部或顶部 flex/弧形/flex

html - 辅助功能:将焦点从按钮转移到嵌套范围——好主意吗?