考虑以下循环 PHP 脚本的 Jquery Ajax。我有一些问题,因为它附加了第一个 div 与服务器的内容,但其余的 div 是空的,我猜这是因为重复的 ID
第一个问题。既然这是可能的,
$("<span id='name" + counter + "'></span>")
如您所见,每次附加 id“#name”时,我都会将“1”添加到 id“#name”中,因此第一个跨度的 id 是“name1”,后面是“name2 等等”
我还想增加这个选择器:
$('#name').html(反馈.name)
例如,第一个选择器应该是 $('#name1').html(反馈.name)
第二个是, $('#name2').html(反馈.name)
等等。 正确的语法是什么?
第二个问题:
考虑一下。
$("<span id='name" + counter + "'></span>")
我是否可以从其他地方加载该 div 并获得与下面相同的结果,而无需经历同源策略问题?如果 JSONP 有帮助,请建议我可以使用的一些结构。
完整的 Jquery Ajax 代码:
var get_fb = (function(){
var counter = 0;
var $buzfeed = $('#BuzFeed');
return function(){
$.ajax({
dataType : 'json',
type: "GET",
url: "Algor.php"
}).done(function(feedback) {
counter += 1;
var $buzfeedresults =
$("<span id='name" + counter + "'></span>");
$('#name').html(feedback.name);
$buzfeedresults.append(feedback);
$buzfeed.append($buzfeedresults);
var $buzfeedDivs = $buzfeed.children('div');
if ($buzfeedDivs.length > 7) { $buzfeedDivs.last().remove(); }
setTimeout(get_fb, 2000);
})
};
})();
get_fb();
提前致谢。
最佳答案
为什么不简单地:
// selects all 'span' elements, that have an 'id' attribute,
// which starts with the string 'name':
$('span[id^="name"]').filter(function(){
// filters that collection, tests to see whether the 'id' follows the
// starts-with 'name', ends-with one or more numbers, with nothing between:
return /^name\d+$/.test(this.id);
});
引用文献:
关于javascript - 如何增加jquery选择器的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19583135/