如何增加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插件?

如何将 jQuery 选择器的表达式作为文本获取?

如何使用已选择的值设置 jQuery datepicker 的默认日期

如何从 DOM 元素和选择器的混合中创建 JQuery 容器

带有 ID 的 jQuery 选择器的性能