【问题标题】:Add attribute to Child element in Grape Js?在 Grape Js 中为子元素添加属性?
【发布时间】:2018-08-28 07:29:03
【问题描述】:

我在grape js 工作了很长时间。

现在我遇到了一些问题。

问题:

这是我尝试在编辑器中添加的组件。

<div class="page">
      <div class="col1"></div>
      <div class="col2"></div>
 </div> 

添加这些组件后,我尝试将一些计算值添加到这样的元素中,

element.on('component:add',function(ele){
   ele.addAttributes({
     'data-top' : topOffset,
     'data-left' : leftOffset,
   });

   editor.render();// For render Updated html
});

但是,此代码仅更新 .page 组件。

如何将这些 attr 添加到 .page 组件内的 .col1,.col2 元素中?

【问题讨论】:

  • 你能 console.log(ele) 吗?请与我分享控制台上的输出

标签: javascript jquery html canvas grapesjs


【解决方案1】:

我阅读了文档,似乎没有一种简单的方法可以得到你想要的东西。但是,您可以执行以下 sn-p 之类的操作。它遍历所有子元素并向它们添加属性。

editor.on('component:add', function (ele, argument) {
   ele.setAttributes({
     'data-top' : 10,
     'data-left' : 20,
   });

   ele.attributes.components.models.forEach(function(item){
      if(item.attributes.tagName == 'div') {
         item.setAttributes({
           'data-top' : 10,
           'data-left' : 20,
         })
      }
   })

   editor.render();// For render Updated html
})

【讨论】:

  • 您好,感谢您的帮助
  • 很高兴能帮上忙!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-02-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-11-23
  • 2015-01-26
相关资源
最近更新 更多