Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: для новичков > Добавление параметра в тег с помощью JS


Автор: ArNic 2.10.2008, 12:17
есть:
Код

<html>
      <a href="1.html">1</a>
      <div id="Jason">
          <a href="2.html">2</a>
          <div>
                  <a href="3.html">3</a>
          </div>
      </div>
      <a href="4.html">4</a>
      <a href="5.html">5</a>
</html>


Должно быть после выполения JS:
Код

<html>
      <a href="1.html">1</a>
 <div id="Jason">
           <a href="2.html" onclick="Show('2.html')">2</a>
           <div>
                   <a href="3.html" onclick="Show('3.html')">3</a>
           </div>
 </div>
      <a href="4.html">4</a>
      <a href="5.html">5</a>
</html>


Как это сделать? Помогите пожалуйста.

Автор: ksnk 2.10.2008, 15:40
А зачем оно такое нужно?
Код

<html>
      <a href="1.html">1</a>
      <a href="2.html">2</a>
      <div>
          <a href="3.html">3</a>
      </div>
      <a href="4.html">4</a>
      <a href="5.html">5</a>
</html>
<script type="text/javascript">

//scan content
var AAA=document.getElementsByTagName('a'),al=AAA.length;
while(al--) {if (AAA[al].href.match(/2\.html$/)) break;}
if(al>=0){
  AAA=AAA[al];

  var NewDiv=document.body.insertBefore(document.createElement('div'),AAA);
  NewDiv.setAttribute('id','jason');
  
  do {
      NewDiv.appendChild(NewDiv.nextSibling);
      var x=NewDiv.nextSibling;
      if (x.href && x.href.match(/4\.html$/))
         break;
  } while (true);

} else 
  alert('Засада!!');
</script>


Автор: ArNic 2.10.2008, 19:48
ksnk - спасибо за твое решение.

Задачу решил (спустя 5 дней мучительного исследования интерента.

Код

var righthtml = document.getElementById("Jason");
var hrefs = righthtml.getElementsByTagName("a");
var l_hrefs = hrefs.length;
for (i=0;i<l_hrefs;i++){
    var activehref = hrefs[i].getAttribute("href");
    hrefs[i].setAttribute("onclick","Down('','"+activehref+"'); return false;");
}


Если можно оптимизировать скажите.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)