gpt4 book ai didi

JQuery 从 html 表中获取值

转载 作者:可可西里 更新时间:2023-11-01 13:13:01 24 4
gpt4 key购买 nike

我正在尝试使用 JQuery 从动态表中提取数据,但是我尝试过的每一种方法都会将值转换为其他值(下面的代码将返回一个“l”而不是我期望的 N/A。我有尝试使用 .each 和 .map 作为函数以及 .val .html 并且您可以看到 .text 来提取数据。我不知道为什么以及我做错了什么。任何帮助将不胜感激。

HTML

    <table id="attendees" class="attendees">
<thead>
<tr style="border-bottom: double;border-color: #007fff" ;="">
<th>Full Name</th>
<th>Membership Type</th>
<th>Membership Expiration Date</th>
<th>Free Vouchers</th>
<th>Classes From Pack Remaining</th>
<th>Yelp Check in</th>
<th>Payment Option</th>
<th>Remove</th>
</tr>
</thead>
<tbody>
<tr class="data">
<td>Students Name</td>
<td>N/A</td>
<td>N/A</td>
<td>0</td>
<td>0</td>
<td>Yes</td>
<td>
<ul id="list">
<select id="payment" name="payment">
<option>Cash/Credit</option>
<option>Free Voucher</option>
<option>Yelp Check-in</option>
</select>
</ul>
</td>
<td>
<div><a href="#" class="remove"><p>Remove</p></a>
</div>
</td>
</tr>
</tbody>
</table>

JQuery

$("#submit").live('click', function (e) {
$("#attendees tr.data").map(function (index, elem) {
var x = $(this);
var cells = x.find('td');
var $data = cells.text();
//alert($data[1]);
if ($data[1] == "N/A") {
alert(true);
}

});
e.preventDefault();

});

最终解决方案

首先感谢所有插话的人,老实说,我从每个人的回答中学到了一些东西。最后,这就是我在下面解决的问题。事后看来,我可能应该对我试图完成的事情进行更详尽的描述。这是扫描多行数据并根据每行中找到的信息做一些事情。为此,我不得不将 trtd .each 函数分开。这让我可以逐行扫描,仍然可以获得单独的数据。
再次感谢大家的帮助,尤其是@TechHunter

$("#submit").on('click', function (e) {
e.preventDefault();

$("#attendees tbody tr").each(function(i) {
var $data= [];
var x = $(this);
var cells = x.find('td');
$(cells).each(function(i) {
var $d= $("option:selected", this).val()||$(this).text();
$data.push($d);
});
if ($data[1] == "N/A") {
doSomething();
}
});
});

最佳答案

最简单的答案是在需要检索值时添加一个类:

HTML

<table id="attendees" class="attendees">
<thead>
<tr style="border-bottom: double;border-color: #007fff" ;="">
<th>Full Name</th>
<th>Membership Type</th>
<th>Membership Expiration Date</th>
<th>Free Vouchers</th>
<th>Classes From Pack Remaining</th>
<th>Yelp Check in</th>
<th>Payment Option</th>
<th>Remove</th>
</tr>
</thead>
<tbody>
<tr class="data">
<td class="inputValue">Students Name</td>
<td class="inputValue">N/A</td>
<td class="inputValue">N/A</td>
<td class="inputValue">0</td>
<td class="inputValue">0</td>
<td class="inputValue">Yes</td>
<td>
<ul id="list">
<select id="payment" class="inputValue" name="payment">
<option>Cash/Credit</option>
<option>Free Voucher</option>
<option>Yelp Check-in</option>
</select>
</ul>
</td>
<td>
<div><a href="#" class="remove"><p>Remove</p></a>
</div>
</td>
</tr>
</tbody>
</table>

Javascript

$("#submit").on('click', function (e) {
e.preventDefault();
var data = $("#attendees tr.data").map(function (index, elem) {
var ret = [];
$('.inputValue', this).each(function () {
var d = $(this).val()||$(this).text();
ret.push(d);
console.log(d);
if (d == "N/A") {
console.log(true);
}
});
return ret;
});
console.log(data);
console.log(data[0]);
});

它更容易,您只检索您想要检索的值。快速实现和维护。

Fiddle here

关于JQuery 从 html 表中获取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16805288/

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