我可以使用nextUntil来获取这些值吗? - javascript

我想使用类.text从介于.val之间的某些<td>中提取<tr>.ccc并将其放入数组中。

<tr class="ccc">
   <td>Strategy & Performance</td>
   <td class="l_ccc_data" id="Foo~Q_1"></td> //the innerHTML of this should read 10
   <td class="l_ccc_data" id="Foo~Q_2"></td> //the innerHTML of this should read 12
</tr>
<tr class="inner">
   <td id="Bar~Q_1">5</td>
   <td id="Bar~Q_2">6</td>
</tr>
<tr class="inner">
   <td id="Something~Q_1">5</td>
   <td id="Something~Q_2">6</td>
</tr>
<tr class="ccc">
   <td>Central Engineering</td>
   <td class="l_ccc_data" id="Boo~Q_1">Next total Goes here</td>
   etc...

到目前为止,我对脚本的了解:

$(document).ready(function(){
    $('.l_ccc_data').each(function(){
        var id = $(this).attr('id');
        var arr_id = id.split('~');
        var q = arr_id[1];
        var arr_sum = [];
        arr_sum.push($(this).nextUntil('.ccc', '[id$="+q+"]').html()); //this could be .text(), or .val(), not sure
        //then add up all the values in arr_sum and set
        //$(this).html(whatever the sum);
    });
});

我知道将数据编码为ID是个坏主意,目前尚无法真正解决。我需要从任何以相同的Q_1或Q_2结束的<td>或与我的<td>类为l_ccc_data的任何东西结束的值。然后,我需要获取该数字,将其压入一个数组,将其加起来,并在类<td>中显示在该l_ccc_data的innerhtml中。一个简单的总数。不应该那么难,但是我觉得我缺少一些东西。

这是nextUntil的正确用法吗?我究竟做错了什么?

参考方案

nextUntil方法将仅查看下一个同级,而不查看可能具有不同父级的下一个节点。

因此,您需要从当前td到父tr向上一级DOM树,然后应用nextUntil。然后,您需要再次下降,可以使用find

请注意,我也纠正了一些错误(例如'[id$="+q+"]'中的错误引用使+不能按预期运行)。请注意,您不应使用html()放置纯文本。为此使用text()

$(function(){
    $('.l_ccc_data').each(function(){
        var q = $(this).attr('id').split('~').pop();
        var sum = 0;
        $(this).parent().nextUntil('.ccc').find('[id$="'+q+'"]')
               .each(function () {
                    sum += +$(this).text();
               });
        $(this).text(sum);
    });
});

使用php重新加载内容 - javascript

在对网站进行编程时,我以前使用过此代码,它可以完美工作,但是现在当我想使用一些Flash部件时,每次单击链接时,它都会重新加载所有网站。源代码: <!DOCTYPE html> <html> <head> <title>Hot King Staff</title> <meta charset=…

用jQuery填充模式形式 - javascript

我正在将订单表从数据库绘制到datatables(jquery插件)中。我要在每笔最后一笔交易或每笔交易中增加付款。问题是,如何获取单击添加付款按钮以添加付款的行的订单ID。其次,当点击addpayment时,它会弹出一个带有字段或订单号的模态表单。我想用在td中找到的订单ID填充该字段,并使其不可编辑或隐藏,但在提交模态表单时将其发布到服务器。表格和模式表…

尽管刷新,jQuery格式仍未应用于Ajax数据 - javascript

我正在通过GET响应消息从服务器(php文件)的可折叠内部加载列表视图。但是,尽管刷新了jQuery元素,但jQuery格式并未应用于添加的HTML。我的页面在这里:http://i.cs.hku.hk/~hsbashir/Project_Work/events/events.htmlHTML代码(仅相关代码)<script> lastRecor…

JavaScript处理期间数组内部的数组 - javascript

我正在尝试使用Ajax处理表单,并且在处理复选框时遇到了问题。我以为我可以在数组中做一个数组,将选中的框添加到数据对象中,但这似乎不起作用。它不会显示为控制台中对象的一部分或类似内容。我尝试了一些变化,但没有任何效果。这是当前的样子:var formData = { 'fname' : $('input[name=fname]&…

将简单的javascript代码转换为c# - javascript

昨天我在这里问了一个问题。使用javascript和html解决方案很简单前一阵子我打算什么是操纵html来执行javascript中的任务但是我改变了主意,将javascript代码重写为c#这是输入<Abstract> <Heading>Abstract</Heading> <Para TextBreak=�…