[英]How do I get the content of a <td> using JavaScript?
我的HTML
<tr class="g1">
<td id="saveursqte_box[]">
<div class="t">
xxxxxxxxxxxxx
<div class="r">
<div class="a">
</div>
<img src="images/saveurs/saveur_test.jpg" width="125" border=0>
</div>
</div>
</td>
<td class="i">
<input type="text" name="saveursqte[]" alt="2.95" value="" size="3" onBlur="__sumform();">
</td>
</tr>
我想做什么
我想使用javascript获取: <td id="saveursqte_box[]">
。
这是:
<div class="t">
xxxxxxxxxxxxx
<div class="r">
<div class="a">
</div>
<img src="images/saveurs/saveur_test.jpg" width="125" border=0>
</div>
</div>
我试过这个javascript:
var saveursqte_box = document.getElementsById('saveursqte_box[]');
接着
htmltotal = htmltotal + saveursqte_box[i].innerHTML;
但是javascript似乎不喜欢我:-(
它是document.getElementById没有“s”。 这个document.getElementById('saveursqte_box[]');
返回一个dom元素而不是像jQuery这样的数组。所以获取innerHTML的代码是:
htmltotal += saveursqte_box.innerHTML;
除了@ scrappedcola关于getElementById
没有's'的注释,你可能在元素id中使用方括号时遇到问题。
我在Firefox 4中用<td id="saveursqte_box">
运行你的例子并且它工作正常,而使用<td id="saveursqte_box[]">
我得到了NULL
作为getElementById()
的结果。
另外:saveursqte_box [i]我没有定义。 只需使用saveursqte_box
谢谢大家! 我知道我的Javascript技能很低但是通过将你的答案结合在一起我得到了这个并且它完美地工作:
htmltotal += document.getElementById('saveurmoisqte_box_' + i).innerHTML;
根据你的回答,我删除了getElementById
的“s”。 我的坏:我复制了getElementsByName
,然后用Id
替换了Name
...这就是为什么那里有一个“s”。 那种可能浪费你一周调试的错误......
之后,我用<td id="extrasqte_box_0">
重命名我的<td id="extrasqte_box[]">
<td id="extrasqte_box_0">
。 我以为你可以像使用names
一样编写ids
数组(例如: name="xxxx[]"
),然后迭代,但我错了。
有了这个就完美了! 不是bea-u-tiful但它有效。
我实际上在做的是:
我有一个包含许多项目的订单,当您填写输入(数量)时,产品的悬停图像显示在其右侧...当您离开(onBLur)时,表格总数会更新,并使用该功能在上面,我获取了<td>
的内容(包括悬停图像),并在“结帐部分”中选择了所选项目的摘要。 结果是超级干净的用户和用户友好。 不方便的是我希望这对你有意义。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.