如何增加jquery选择器的值
Posted
技术标签:
【中文标题】如何增加jquery选择器的值【英文标题】:How to increment the value of jquery selector 【发布时间】:2013-11-04 04:13:16 【问题描述】:考虑以下循环 php 脚本的 Jquery Ajax。我有一些问题,因为它在第一个 div 中附加了来自服务器的内容,但其余的 div 是空的,我猜这是因为重复的 ID
第一个问题。由于这是可能的,
$("<span id='name" + counter + "'></span>")
如您所见,我每次添加 id "#name" 时都将其添加“1”,因此第一个 span 的 id 是“name1”,然后是“name2”,以此类推
我也想增加这个选择器:
$('#name').html(feedback.name)
例如,第一个选择器应该是 $('#name1').html(feedback.name)
第二个是, $('#name2').html(feedback.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();
提前致谢。
【问题讨论】:
您已经回答了第一个问题?这和你已经做过的一样。第二个问题,不,我不认为你可以。 不,那不行。$('#name' + counter);
?
【参考方案1】:
为什么不简单:
// 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);
);
JS Fiddle demo.
参考资料:
filter()
。
RegExp.test()
。
【讨论】:
我是个学生,你能把完整的代码合并进去吗?请。以上是关于如何增加jquery选择器的值的主要内容,如果未能解决你的问题,请参考以下文章
如何使用类选择器覆盖 id 选择器的 jQuery 事件处理程序?
如何使用已选择的值设置 jQuery datepicker 的默认日期