我试图做的是获取类名为" revision_id"的单元格。
<tr>
<td class="supplierOrderId">10790</td>
<td class="revision_id">#7</td>
<td class="supplier">DGI Developpement </td>
<td class="quantity">80</td>
<td class="stock">0</td>
<td class="purchase_price">10.00</td>
<td class="comments"> </td>
</tr>
我设法这样做了:
revision = this.parentNode.parentNode;
revisionId = revision.cells[1].innerHTML.replace( /[^\d.]/g, '' );
(因为我想得到字符串的int)
iRevisionId = parseInt(revisionId);
使用给定的className有没有更合适的方法呢? 因为如果有人在将来添加一个单元格,我的代码将被弃用&#34;。
希望我已经提供了所有细节,
先谢谢。
// More Details //
大多数答案的问题是它们仅在我有1 <tr>
时才有效。一旦我得到多个,它就会获得如下所示的每个版本ID:
console.log(result) -> #1#2#3#4
(如果我有4 <tr>
例子)
所以这就是我得到这样的好人的原因:
revision = this.parentNode.parentNode;
//输出商品<tr>
但在那之后,我无法获得给定的className。
答案 0 :(得分:1)
如果这是tr
var data = $(this).children(".revision_id").text()
答案 1 :(得分:0)
答案 2 :(得分:0)
使用text()
方法,您可以获取td
元素中的文字。
之后,就像使用parseInt()
$(function() {
var quantity = $('tr td.quantity').text();
console.log(parseInt(quantity));
});
答案 3 :(得分:0)
取决于您是否可以使用jQuery。
使用纯JS,只要您使用现代浏览器,就可以使用getElementsByClassName
功能。出于本演示的目的,我假设您可以在桌面上使用ID。
var myClassName = 'revision_id';
var table = document.getElementById('mytable');
// the desired TD
var td = table.getElementsByClassName( myClassName ) );
请参阅Mozilla's docs on getElementsByClassName。
此外,this answer适用于向后兼容性。
当然,使用jQuery会变得更容易:
var $td = $('#mytable td.revision_id');
答案 4 :(得分:0)
如果你想用jquery,那么你可以使用.filter()
方法:
var text = $('td').filter(function () {
return this.className === 'revision_id';
}).text().slice(1);
text = +text; // conversion for int
alert(text);