Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Выборка элементов без ID (https://javascript.ru/forum/dom-window/39739-vyborka-ehlementov-bez-id.html)

Chrome 10.07.2013 01:13

Выборка элементов без ID
 
Сложилась такая ситуация пользователь вводит в поле "слова" теги и каждый раз когда он жмет пробел или этор тег автоматически добавляться в DOM дерево.
вот код который добавляться.
var websiteeditcase = document.getElementById("Tegs");
    
    var newDiv = document.createElement('div');
       
             newDiv.innerHTML = "<div> убрать тег </div><div>Тест тега</div>";
               
               
                
  websiteeditcase.insertBefore(newDiv, websiteeditcase.firstChild);

то есть пользователь может вести от 0 до n различных тегов.

теперь собственно сома проблема я не могу сделать так чтобы при клики на <div> убрать тег </div> убирался именно тот тег на который кликнул пользователь. Надеюсь вы мне поможете с этим.

рони 10.07.2013 01:30

Chrome,
а что мешает навесить .onclick на newDiv с функцией websiteeditcase.removeChild(this); ?

Chrome 10.07.2013 01:35

this вот я читал про него но так и не понял как он работает если не трудно подскажите по подробнее.

насколько я вас понял мне надо сделать так.

newDiv.innerHTML = "<div onclick="javascript:Имя функции()"> убрать тег </div><div>Тест тега</div>";

имя функции (){
this.parentNode.removeChild(this);
}

Если так то я побывал уже почему то не получается.

рони 10.07.2013 01:50

Chrome,
var websiteeditcase = document.getElementById("Tegs");
 var newDiv = document.createElement('div');
 newDiv.innerHTML = "<div> убрать тег </div><div>Тест тега</div>";
 newDiv.onclick = function ()
{
   websiteeditcase.removeChild(this)
};
websiteeditcase.insertBefore(newDiv, websiteeditcase.firstChild);

Chrome 10.07.2013 08:39

Спасибо вам большое


Часовой пояс GMT +3, время: 09:11.