Как найти все элементы с одинаковым атрибутом

188
11 июня 2018, 22:20

Как найти все теги с одинаковым атрибутом spinner и заменить им всем значение этого атрибута.

В моем примере монтаж происходит только у первого атрибута как сделать чтобы сработало на всех тегах с этим атрибутом ?

И если можно еще пример на coffeescript

i = 0; 
tags = document.getElementsByTagName('*'); 
tag = null; 
 
 
replacementAttr = function() { 
      var image; 
      while ( tag = tags[i++]) { 
        if (this.tag.getAttribute('spinner') != null) { 
          image = tag.getAttribute('spinner'); 
          tag.style.backgroundImage = "url( " + image + " )"; 
          return; 
        } 
      } 
    }; 
     
    replacementAttr();
div{ 
    border: 1px solid; 
    background: #d7d7d7; 
    width: 100%; 
    height: 100px; 
}
<div spinner="http://i.vimeocdn.com/video/394424921_1280x720.jpg">spinner</div> 
<div spinner="http://www.fiji.travel/sites/default/files//styles/hero-full/public/sports-illustrated-fiji-banner.jpg?itok=v4WCGsHC">spinner</div> 
<div spinner="http://fanaticsview.com/wp-content/uploads/2016/03/hannah-daviss-si-swimsuit-2016-s.jpg">spinner</div>

Answer 1

оказалось что все дело в return и i

i = 0; 
tags = document.getElementsByTagName('*'); 
tag = null; 
 
 
replacementAttr = function() { 
      var image; 
      while (i <  tags.length) { 
        tag = tags[i] 
        if (tag.getAttribute('spinner') != null) { 
          image = tag.getAttribute('spinner'); 
          tag.style.backgroundImage = "url( " + image + " )"; 
        } 
        i++ 
      } 
    }; 
     
    replacementAttr();
div{ 
    border: 1px solid; 
    background: #d7d7d7; 
    width: 100%; 
    height: 100px; 
}
<div spinner="http://i.vimeocdn.com/video/394424921_1280x720.jpg">spinner</div> 
<div spinner="http://www.fiji.travel/sites/default/files//styles/hero-full/public/sports-illustrated-fiji-banner.jpg?itok=v4WCGsHC">spinner</div> 
<div spinner="http://fanaticsview.com/wp-content/uploads/2016/03/hannah-daviss-si-swimsuit-2016-s.jpg">spinner</div>

READ ALSO
Snake_case в camelCase

Snake_case в camelCase

В строке необходимо найти все дефисы или нижние подчеркивания, убрать их и букву после них сделать большой:

180