Javascript 如何从jQuery选择器生成的集合中提取数据?
只是一个小例子。我有3个链接,一个按钮和一个div:Javascript 如何从jQuery选择器生成的集合中提取数据?,javascript,jquery,html,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> 但事实确实如此 AAA AAA AAA 有人知道为什么以及如何解决这
<a href="#">AAA</a>
<a href="#">BBB</a>
<a href="#">CCC</a>
<button id="getResult">Get result</button>
<div id="result"></div>
但事实确实如此
AAA
AAA
AAA
有人知道为什么以及如何解决这个问题吗?如果你有更好的方法,能告诉我吗?我对jQuery非常陌生。谢谢您的帮助。替换
$.each(links, function() {
$('#result').append('<p>' + links.html() + '</p>');
$。每个(链接、函数(){
$(“#结果”).append(“”+links.html()+””);
与
链接。每个(函数(){
$('#result').append(''+$(this.html()+'');
或者干脆
$('a').each(function() {
$('#result').append('<p>' + $(this).html() + '</p>');
});
$('a')。每个(函数(){
$('#result').append(''+$(this.html()+'');
});
您没有使用迭代项,应该使用而不是迭代jQuery集合
另一个更直接的解决方案(通常是代价高昂的Oparion)是:
$('#result').html(
$('a').map(function(){return '<p>'+this.innerHTML+'</p>'}).get().join('')
);
$('#结果').html(
$('a').map(函数(){return''+this.innerHTML+''}).get().join(“”)
);
在中。您调用的每个函数links.html()
,它只获取集合中第一个元素的html。您的意思是使用$(this.html()
(可能)
顺便说一句,您可以将其重写为仅使用.html
方法本身进行追加:
$("a").html(function (_, html) {
$("#result").append("<p>" + html + "</p>");
});
$(“a”).html(函数(\ux,html){
$(“#结果”)。追加(“”+html+””);
});
当有疑问时,让事情变得简单。你可以这样做,而不需要jQuery$。每条语句。我不是100%,但我认为它被错误地使用了
而不是美元。每个人都可以试试这个
for (var i = 0; i < links.length; i++){
var linkHtml = links[i].html();
$('#result').append('<p>' + linksHtml + '</p>');
}
for(var i=0;i”);
}
希望这对你有所帮助。试试这个。你需要在链接上迭代,所以使用链接。每个链接都可以在这里看到fiddle
$(函数(){
$('#getResult')。单击(函数(){
变量链接=$('a');
links.each(函数(){
$('#result').append(''+$(this.html()+'');
});
});//结束单击
})//结束准备就绪
哦,是的,就是这样。谢谢^^
$('#result').html(
$('a').map(function(){return '<p>'+this.innerHTML+'</p>'}).get().join('')
);
$("a").html(function (_, html) {
$("#result").append("<p>" + html + "</p>");
});
for (var i = 0; i < links.length; i++){
var linkHtml = links[i].html();
$('#result').append('<p>' + linksHtml + '</p>');
}
$(function() {
$('#getResult').click(function() {
var links = $('a');
links.each(function(){
$('#result').append('<p>' + $(this).html() + '</p>');
});
}); // end click
}); // end ready