1

如何将每个孩子的 HTML 分配给 jQuery 中的变量?

例如,我有

<li>
    <div class="hide video_id keep">50</div>
    <div class="hide video_id keep">49</div>
</li>

我希望 50 和 49 分别存储在一个变量中。我不确定这些 div 有多少,但我需要它来为每个 div 工作。除了使用 for 循环之外,还有什么更简单的方法可以做到这一点?

仅出于上下文考虑,我使用这些值从 DOM 中删除视频缩略图(这就是为什么我为不会删除的缩略图添加“保留”类的原因)。

更新:这是我在单击类别时用于过滤视频的代码。

$('.category').click(function() {
    $(this).children().addClass('keep');
    var numbers = [];
    $(".video_id:not(.keep)").each(function () {
        numbers.push($(this).text());
    });
    console.log(numbers);
    $('.thumbnails:gt(8)').remove();
    updatePaginate();
});
4

4 回答 4

1

如果我理解你是正确的,你想选择数字以便你可以删除这些图像,但你不想删除那些有keep类的图像。在这种情况下,您可以选择所有具有 的元素video_id并忽略那些具有keep类的元素(使用:not 选择器),然后使用.each()循环遍历它们并一次读取它们的内容。然后,您可以将内容推送到数组中。像这样的东西:

var numbers = [];
$(".video_id:not(.keep)").each(function () {
   numbers.push($(this).text());
});
console.log(numbers);

工作演示

于 2013-03-07T07:54:31.960 回答
0
$(function() {
    $('div','li').each(function() {
        console.log($(this));
    });
});
于 2013-03-07T07:52:25.267 回答
0
var values = [];

$("div.keep").each(function(){
 values[values.length] = $(this).text();
});
于 2013-03-07T07:53:10.553 回答
0

不确定你到底想达到什么,但你可以使用.map方法:

var arr = $('div.keep').map(function() { return $(this).text(); }).get();

这将形成一个包含您的元素文本的数组。

于 2013-03-07T07:54:59.550 回答