仅当在页面中找到Div时才运行JavaScript

仅当在页面中找到Div时才运行JavaScript,javascript,prototypejs,Javascript,Prototypejs,我正在用PHP和JavaScript为Magento开发一个模块 JavaScript部分使用Magento附带的默认PrototypeJS库。这是我第一次使用原型 无论如何,下面这部分代码改变了模块插入到某些页面中的Div 这就是我现在遇到的问题,当这段代码在一个页面上运行时,它试图修改的页面中没有Div 请帮助我进行修改,使其仅在找到类名为.nam modal body // Set Modal Div CSS Width $$('.nam-modal-body')[0].setStyle(

我正在用PHP和JavaScript为Magento开发一个模块

JavaScript部分使用Magento附带的默认PrototypeJS库。这是我第一次使用原型

无论如何,下面这部分代码改变了模块插入到某些页面中的Div

这就是我现在遇到的问题,当这段代码在一个页面上运行时,它试图修改的页面中没有Div

请帮助我进行修改,使其仅在找到类名为
.nam modal body

// Set Modal Div CSS Width
$$('.nam-modal-body')[0].setStyle({
   width: this.options.modalWidth + "px",
  'margin-left': -(this.options.modalWidth / 2) + "px"
});

if ($$('.nam-modal-body').length > 0) {
    $$('.nam-modal-body')[0].setStyle({
       width: this.options.modalWidth + "px",
      'margin-left': -(this.options.modalWidth / 2) + "px"
    });
}

为了消除错误,我不得不使用这个

if (typeof($$('.nam-modal-body')[0]) != 'undefined') {
    $$('.nam-modal-body')[0].setStyle({
       width: this.options.modalWidth + "px",
      'margin-left': -(this.options.modalWidth / 2) + "px"
    });
}

uncaughttypeerror:无法读取null的属性'length'
请记住我不是使用jQuery而是Prototypejs抱歉,我不知道prototype,但这可以很容易地转换为Vanilla JS。在Vanilla JS示例中,使用
if(myDiv.length>0){
if($$('.nam modal body')。length>0{@metadings否(顶部),
getElementsByClassName
收集节点列表,而不是单个元素,并且需要使用
[0]
指示器。节点列表是具有
长度
属性的对象。因此,当您获取节点列表中的第一个元素时
[0]
,一个dom元素,当
[0]
不存在时(null,未定义),它没有
length
属性并引发错误
if (typeof($$('.nam-modal-body')[0]) != 'undefined') {
    $$('.nam-modal-body')[0].setStyle({
       width: this.options.modalWidth + "px",
      'margin-left': -(this.options.modalWidth / 2) + "px"
    });
}