Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 05.01.2015, 13:26
Интересующийся
Отправить личное сообщение для lok105 Посмотреть профиль Найти все сообщения от lok105
 
Регистрация: 05.01.2015
Сообщений: 14

Помогите плиз с append
Добрый день! Возможно вопрос и не относится на прямую к append.

Задача:

Есть несколько одинаковых строк

<p>Строка</p>
<p>Строка</p>
<p>Строка</p>

Через append, нажимая на нижнюю строку создается такая же строка под последней

<p>Строка</p>
<p>Строка</p>
<p>Строка</p>
<p>Строка</p> - новая строка

Сам вопрос. Как сделать, что бы следующая такая же строка создавалась при нажатии на последнюю (т.е. новую строку), а не на предпоследнюю?

Спасибо!
Ответить с цитированием
  #2 (permalink)  
Старый 05.01.2015, 14:38
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,070

lok105,

<!DOCTYPE HTML>

<html>

<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style type="text/css">
  .orange {
    background: #FFCC00;
  }

  p:last-child  {
     cursor: pointer;
     background: rgb(0, 153, 51);
  }

  </style>
  <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
  <script>
     $(function(){
       var s = 1;
       $("body").on("click" ,"p:last", function() {
         $(this).after($("<p/>", {"text" : "новая строка"+s++, "class" : "orange"}));
      });
});


  </script>
</head>

<body>
 <p>Строка</p>
 <p>Строка</p>
 <p>Строка</p>

</body>

</html>
Ответить с цитированием
  #3 (permalink)  
Старый 05.01.2015, 17:14
Интересующийся
Отправить личное сообщение для lok105 Посмотреть профиль Найти все сообщения от lok105
 
Регистрация: 05.01.2015
Сообщений: 14

Отлично! спасибо огромное!!!
Ответить с цитированием
  #4 (permalink)  
Старый 05.01.2015, 17:51
Профессор
Посмотреть профиль Найти все сообщения от krutoy
 
Регистрация: 09.11.2014
Сообщений: 610

рони,
А не проще ли, вместо того чтобы постоянно дергать поиск по дому, сделать что то вроде этого:
<html>
<head>
</head>
<body>


<script>


add=function(){
   this.onclick=null
   var p=document.createElement("p")
   p.innerHTML="string"
   p.onclick=add
   document.body.appendChild(p)
}

add()


</script>
 
</body>
</html>
Ответить с цитированием
  #5 (permalink)  
Старый 05.01.2015, 18:05
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,070

krutoy,
ваше проще мне видится как выхолостить - как неуниверсальный вариант подойдёт - всётаки jquery более гибкая в плане применения -- вдруг не body -- а куча контейнеров и в этих контейнерах есть другие строки и ваш код нарастёт ... но вы конечно и в этом обойдётесь без jquery ... каждый программирует как он программирует ... ваше решение имеет право на существование ...
Ответить с цитированием
  #6 (permalink)  
Старый 05.01.2015, 18:18
Интересующийся
Отправить личное сообщение для lok105 Посмотреть профиль Найти все сообщения от lok105
 
Регистрация: 05.01.2015
Сообщений: 14

Да, там если быть точнее вот так будет:


HTML:

<table id="tableTraffic">
             <tr>
                 <td><input class='pole' type='text' name='Come'/></td>
             </tr>
             <tr>
                 <td><input class='pole' type='text' name='Come'/></td>
             </tr>
</table>


и смысл, что бы нажимая на последнее(нижнее) поле ввода, ниже появлялось еще одно и так нескончаемо

Последний раз редактировалось lok105, 05.01.2015 в 18:24.
Ответить с цитированием
  #7 (permalink)  
Старый 05.01.2015, 18:33
Профессор
Посмотреть профиль Найти все сообщения от krutoy
 
Регистрация: 09.11.2014
Сообщений: 610

lok105,
Это не важно
<html>
<head>
</head>
<body>

<table id="tableTraffic">
</table>

<script>


table=document.querySelector("#tableTraffic")
add=function(){
   this.onclick=null
   var tr=document.createElement("tr")
   tr.innerHTML="<td><input class='pole' type='text' name='Come'/></td>"
   tr.onclick=add
   table.appendChild(tr)
}

add()


</script>
 
</body>
</html>
Ответить с цитированием
  #8 (permalink)  
Старый 05.01.2015, 19:23
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

krutoy, зачем учишь народ плохому?
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #9 (permalink)  
Старый 05.01.2015, 20:47
Профессор
Посмотреть профиль Найти все сообщения от krutoy
 
Регистрация: 09.11.2014
Сообщений: 610

danik.js,
Чем меньше народа будут выдрачиваться под это говно, тем быстрей оно сдохнет. Так что ты должен спасибо еще сказать, я санитар "леса"
Ответить с цитированием
  #10 (permalink)  
Старый 05.01.2015, 20:54
Профессор
Посмотреть профиль Найти все сообщения от krutoy
 
Регистрация: 09.11.2014
Сообщений: 610

danik.js,
Да и вообще, есть блять, стандарт ECMA, есть спеки, есть, семантика, и есть совершенно другой ЯП в вакууме, где блять, какие то заморочки, и который работает в каком то говне, по недоразумению называемом браузером. Я что, должен 2 языка теперь учить вместо одного? Шел бы ты подальше со своими полезными советами. Мне насрать на адептов IE
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите плиз с плагином kladr.js tenebrosus jQuery 5 16.10.2014 14:57
Помогите с мелкой проблемой плиз! first18 Элементы интерфейса 0 14.06.2014 16:42
ПОМОГИТЕ плиз!!! я Новичок нуждаюсь в помощи! Brand new you Javascript под браузер 1 11.10.2011 14:47
Помогите разобратся с Jquery append unsiker jQuery 3 08.07.2011 22:06
Помогите плиз mesq Оффтопик 6 28.06.2010 04:58