如何计算在JavaScript中具有相同值的HTML属性?
我有以下的HTML代码,如何计算在JavaScript中具有相同值的HTML属性?
<table>
<tr>
<td>content</td>
<td>content</td>
</tr>
<tr>
<td colspan="2">one</td>
</tr>
<tr>
<td>content</td>
<td>content</td>
</tr>
<tr>
<td colspan="2">two</td>
</tr>
<tr>
<td>content</td>
<td>content</td>
</tr>
<tr>
<td colspan="2">three</td>
</tr>
</table>
我真正想要的是计数的“合并单元格”,并从这些表把这些内容用JavaScript而已,没有jQuery和mootool请。谢谢。
我已经得到了这个答案,我们可以优化为更短的代码或只是简单的代码?
var tds = document.getElementsByTagName('td');
var colspanCount = 0;
var valuecount = 0;
for(i=0; i<tds.length; i++) {
myvalue = (tds[i].hasAttribute('colspan'));
if (myvalue == true) {
valuecount += 1;
}
}
document.write('my value is ' + valuecount);
我想使用jQuery是最好的,但这样的事情应该工作:
var tablecols = document.getElementsByTagName("td");
for(var i in tablecols) {
if (tablecols[i].getAttribute('colspan') != undefined) {
alert(tablecols[i].innerHTML);
}
}
请注意,这是未经测试。
感谢范,它的工作原理。 –
那么你或许应该遍历通过执行类似document.getElementsByTagName(“TD”),然后使用每个这些对象的getAttribute方法,看看它是否返回您合并单元格的值标签..
伪代码:
tds=document.getElementsByTagName("td")
for i fom 0 to tds.length
if tds[i].getAttribute("colspan") is defined
//do smthing
希望帮助..
工作。谢谢 –
我自己,我只是使用jQuery。
你可以低价出售和对待它像字符串和使用.split('colspan="2"')
然后长度为1将是你的答案。
var tds = document.getElementsByTagName('td');
var colspanCount = 0;
for(i=0; i<tds.length; i++) {
colspanCount += tds[i].hasAttribute('colspan') ? parseInt(tds[i].getAttribute('colspan')) : 0;
}
document.write('Count: ' + colspanCount);
测试工作:
它显示了属性值的全部增值,所以结果是6而不是3,它不计算colspan。你可以请看看。谢谢 –
一个问题:为什么?我问这个是因为我觉得有更好的方式去做你想做的事情。 – Mrchief