如何使用JavaScript获取​​的内容?

问题描述:

我的HTML如何使用JavaScript获取​​的内容?

<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的似乎不喜欢我:-(

+0

除非我弄错了,[和]在HTML标识属性中不是有效的字符...... – psmay 2011-05-13 20:35:59

+1

[]可以在id中没有标准。 – scrappedcola 2011-05-13 20:38:33

感谢所有!我知道我的JavaScript技能较低,但结合你的答案我一起来到这个和它完美的作品:

htmltotal += document.getElementById('saveurmoisqte_box_' + i).innerHTML;

按照您的回答,我删除了的getElementById“S”。我的坏:我复制了getElementsByName,然后用Id替换了Name ......这就是为什么那里有“s”的原因。这种错误可能会浪费你一周的时间进行调试...

之后,我将我的<td id="extrasqte_box[]">重命名为<td id="extrasqte_box_0">。我以为你可以像names(例如:name="xxxx[]")那样编写ids阵列,然后迭代,但我错了。

有了它,它完美的工作!不bea-u-tiful,但它的工作原理。

什么我实际上在这方面采取的是:

我有很多的项目,当您填写的输入(量)的订单,产品的悬停形象出现在它的权利.. 。当你离开时(onBLur),表格总数被更新,并且使用上面的函数,我得到<td>的内容(包括悬停图片),并且在“结帐部分” 。其结果是为用户提供超级清洁和用户友好。不方便的是我希望这对你有意义。

它是document.getElementById n o“s”。 这document.getElementById('saveursqte_box[]');返回一个DOM元素并不像jQuery.So数组的代码来获取innerHTML的是:

htmltotal += saveursqte_box.innerHTML; 

除了@ scrappedcola的备注那里是没有的“在getElementById,您也可以在元素ID中使用方括号时会出现问题。

我跑你的例子在Firefox 4与<td id="saveursqte_box">和它的工作,而使用<td id="saveursqte_box[]">NULLgetElementById()结果。

另外: saveursqte_box [i] 我没有定义。只需使用saveursqte_box