gpt4 book ai didi

javascript - JQuery 不获取 HTML 数据

转载 作者:行者123 更新时间:2023-11-30 17:28:21 25 4
gpt4 key购买 nike

我的网页上显示了以下 HTML 表格。

<div class="timecard">
<table class="misc_items timecard_list" border="0" cellpadding="2" cellspacing="0" style="margin:0 auto;">
<tbody>
<tr class="display_row odd">
<td align="left" class="job_code" style="color:#000099">2400-Orchard</td>
<td align="right">9:47am</td>
<td align="right">5/19/2014</td>
<td align="right" class="hrs">01:00</td>
</tr>
<tr class="display_even odd">
<td align="left" class="job_code" style="color:#000099">1500-Emerald</td>
<td align="right">12:37am</td>
<td align="right">5/17/2014</td>
<td align="right" class="hrs">0:30</td>
</tr>
</tbody>
</table>
</div>

<div id="total"></div>

然后我有以下 jquery 脚本,它获取每个 job_code 的总时间并将它们相加并显示它们。但是,它似乎无法正常工作。它没有按应有的方式显示由 HTML 表格下方的 jQuery 语句相加的总数。

$(document).ready(function () {

var timeString = $(this).next('td.hrs').text();
var components = timeString.split(':');
var seconds = components[1] ? parseInt(components[1], 10) : 0;
var hrs = parseInt(components[0], 10) + seconds / 60;
total += hrs;

var temp = [];
$('.job_code').each(function (index, element) {
var text = $(this).text();
temp.push(text);
});

// remove duplicates
var job_code = [];
$.each(temp, function (index, element) {
if ($.inArray(element, job_code) === -1) job_code.push(element);
});

var sum = {};
$.each(job_code, function (index, element) {
var total = 0;
$('.job_code:contains(' + element + ')').each(function (key, value) {
var timeString = $(this).siblings('td.hrs').text();
var components = timeString.split(':');
var seconds = components[1] ? parseInt(components[1], 10) : 0;
var hrs = parseInt(components[0], 10) + seconds / 60;
total += hrs;
sum[index] = {
'job_code': element,
'total': total
};
});
});

console.log(sum);

$.each(sum, function (index, element) {
$('#total').append('<p>Total for ' + element.job_code + ': ' + element.total + '</p>');
});

});

http://jsfiddle.net/2D5fb/1/

非常感谢任何想法。谢谢。

最佳答案

除了 total 未定义外,更改:

var timeString = $(this).next('td.hrs').text();

var timeString = $(this).siblings('td.hrs').text();

.next() 字面上只查看下一个元素,而 td.hrs 不是下一个元素。 .siblings() 但是会遍历所有的 sibling 。

jsFiddle example

关于javascript - JQuery 不获取 HTML 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23745699/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com