我正在使用GridView,有些行是可编辑的,有些行不可编辑。对于特定的单元格,我可以获取返回<TD>
的cell.tagName。我如何获得它的孩子的标签名称?我需要使用javascript
<td class="cl">
<select name="ctrlvcol%3DID%3Bctrl%3DmultizoneDemarcationSLC%3Brow%3D19451111%3Btype%3Dtxt" onchange="getOrder(this.value,19451111)">
</td>
<td class="cl">
<div onchange="getOrder(this.value,60874111)">
<span>
<nobr></nobr>
VALUE
</span>
</div>
</td>
谢谢
答案 0 :(得分:0)
您可以使用单元格的childNodes
集合。
var children = cell.childNodes;
var firstTagName = children[0].nodeName;
childNodes
返回类似数组的集合。您可以在此处详细了解:https://developer.mozilla.org/en-US/docs/Web/API/Node.childNodes
答案 1 :(得分:0)
可以使用以下方法获取某个元素的标记名称:
element.tagName
请参阅this
但你的问题不是这个,因为你似乎已经知道了。您想知道如何获取此类td
元素的子元素。为此,您可以使用childNodes元素属性来执行此操作:
var children = td.childNodes;
for (var i = 0; i < children.length; i++) {
// do something with each child as children[i], like:
switch (children[i].tagName) {
case 'SELECT':
// do something with the select
break;
case 'DIV':
// do something else with the div
break;
}
}
但是,除非您受到其他项目规范的限制,否则像jQuery这样的库可能会非常有用。
在jQuery中你只会做类似的事情:
var allSelectsDirectlyInTds = $('td > select');
var allDivsDirectlyInTds = $('td > div');
// or for example add events to these elements you are searching for:
$('td > div').on('click', function() { /* do something when the user clicks on the div */ })