Javascript 如何使用prototype获取dt元素文本

Javascript 如何使用prototype获取dt元素文本,javascript,prototypejs,Javascript,Prototypejs,我有一个下面的html代码 <dl> <dt><label>test</label></dt> <dd><input id="someid" type="checkbox" onchange="opConfig.reloadPrice()" class="product-custom-option"></dd> <dt><label>test</label><

我有一个下面的html代码

 <dl>
<dt><label>test</label></dt>
<dd><input id="someid" type="checkbox" onchange="opConfig.reloadPrice()" class="product-custom-option"></dd>
<dt><label>test</label></dt>
<dd><input id="someid" type="checkbox" onchange="opConfig.reloadPrice()" class="product-custom-option"></dd>
<dt><label>test</label></dt>
<dd><input id="someid" type="checkbox" onchange="opConfig.reloadPrice()" class="product-custom-option"></dd>
<dt><label>test</label></dt>
<dd><input id="someid" type="checkbox" onchange="opConfig.reloadPrice()" class="product-custom-option"></dd>
</dl>

<script>
reloadPrice : function() {
            var config = this.config;
            var skipIds = [];
            $$('body .product-custom-option').each(function(element){
                //todo
                });
</script>

测验
测验
测验
测验
重载价格:函数(){
var config=this.config;
var skipIds=[];
$$('body.product自定义选项')。每个(函数(元素){
//待办事项
});
我想在循环中获取dt->label元素文本。在我的原型函数中有函数名“reloadprice”。它在更改事件中运行。那么如何使用原型获取标签文本呢。
任何帮助都将不胜感激。

Prototype扩展了
DOM
,请尝试以下方法:

  $$('.product-custom-option').each(function(element){
      //element return DOM node which is extended by prototype
      console.log(element.up().previous().down().innerHTML);
  });

我创建了,一切正常。

您缺少
var opConfig={
}请记住,DL可以在一行中包含多个DT或DD元素,因此您可能希望将
previous()
限定为
previous('DT')
,这样您就不会模棱两可了。这是有效的:
pearsboscosgoldenapples>/dt>RomePippin
@pinal使用
console.log(element.up().previous().down().innerHTML)修改了您的代码更改,它只在body onload上工作,不在更改事件上工作,它在更改事件上抛出错误,如
TypeError:element.up(…)。上一个(…)未定义
感谢您的评论,添加控制台并将其全部移动到函数。