2014-12-11 5 views
0

Хотите изменить HTML-контент div, который имеет определенный класс, но проблема в том, что есть несколько других, и они тоже получают изменения.Изменить содержимое div, который имеет уникальный класс

<div class="x"></div> 
<div id="y"><div class"x">Change this</div></div> 
<div class="x"></div> 

Я пытаюсь

function ReplaceContentInContainer(matchClass,content) 
    { 
    var elems = document.getElementsByTagName('*'),i; 
    for (i in elems) 
     { 
     if((" "+elems[i].className+" ").indexOf(" "+matchClass+" ") > -1) 
      { 
      elems[i].innerHTML = content; 
      } 
     } 
    } 

window.onload = function() 
    { 
    ReplaceContentInContainer("x","Success"} 

, но как вы можете догадаться, он меняется каждый класс «х», так как я могу ограничить это только класс = «х», который вложен в div с id = "y"?

+4

Вы используете JQuery, на самом деле? –

+5

Этот код является почти болезненным и, кажется, не используется jQuery –

+1

Почему вы выполняете итерацию через коллекцию каждого элемента, ищущего имя класса, когда для этого есть встроенная функция DOM: 'getElementsByClassName()' –

ответ

3

Использование JQuery

$("#y .x").html("changed it"); 

То есть все

+0

, похоже, не работает, но, вероятно, потому, что я использую это в wordpress, работает javascript, и я думаю, что jquery тоже с jQuery (document) .ready (function() { alert ('Loaded!'); }); работает, так что я вроде потерял здесь –

+0

хорошо это работает 'JQuery (документ) .ready (функция() { JQuery ("# х .y") HTML ("изменил его");. }) ;) ' –

Смежные вопросы