表格单元格可以包含INPUT元素,SELECT元素或其他元素。我必须从元素中获取值和类属性,以便适当地路由代码。
表格单元格中只有一个元素(但元素类型可能会发生变化)。
问题:test1和test2没有返回所需的值(表格单元格中元素的类名和值)。
HTML:
<table id="tbl">
<tr>
<td class="pid">12345</td>
<td class="tbl_vendor"><input class="vi" value="Ikea" /></td>
<td>Stove</td>
<td><input class="qty_in" value="1" /></td>
<td class="del">del</td>
</tr>
<tr>
<td class="pid">38674</td>
<td class="tbl_vendor">
<select class="vendSEL">
<option value="1">C.P.O.</option>
<option value="2">Knightin</option>
<option value="3">CanDine</option>
</select>
</td>
<td id="selTD"></td>
<td><input class="qty_in" value="1" /></td>
<td class="del">del</td>
</tr>
</table>
的jQuery / JavaScript的:
var $this, qty, thisRowNdx, thisTR, vendorTD;
$(document).on('keyup', '.qty_in', function() {
$this = $(this);
qty = this.value;
thisTR = $this.closest('tr')[0];
vendorTD = $this.closest('tr').find('.tbl_vendor');
var currVendorTagname = vendorTD.children()[0].tagName;
var test1 = vendorTD.children()[0].getAttribute['class'];
var test2 = vendorTD.children()[0].nodeValue;
alert('currVendorTagname: ' + currVendorTagname);
alert('test1: ' + test1);
alert('test2: ' + test2);
});
答案 0 :(得分:1)
这都是找到the right reference的问题。或者,这更容易阅读:the Mozilla Developer Network page。
感谢您对此问题的回答:JavaScript getting an elements class without any libraries
解决方案:
var test1 = vendorTD.children()[0].className;
var test2 = vendorTD.children()[0].value;
请注意,这应该有效,但没有:
var test1 = vendorTD.children()[0].getAttribute['className'];