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

时间:2013-08-10 19:00:04

标签: javascript prototypejs

我正在使用PHP和JavaScript开发Magento模块。

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

无论如何,下面这段代码改变了我的模块插入某些页面

的Div

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

请帮我修改,以便只有在找到具有班级名称.nam-modal-body的Div

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

2 个答案:

答案 0 :(得分:0)

var myDiv = document.getElementsByClassName('nam-modal-body');
if (myDiv[0].length > 0) {
    $$('.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"
    });
}

答案 1 :(得分:0)

为了摆脱错误,我不得不最终使用这个......

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