2013-05-13 2 views
-1

У меня есть функция JQuery, которая имеет следующий HTML со страницы с помощью этого:динамически изменять имя атрибута элемента

//get html 
var myHtml = $("#info").html() 

Вот HTML он получает:

<div id="info"> 
     <table> 
      <tr> 
       <td><input type="text" name="tbAnswer" value="Feedback..." /></td> 
      </tr> 
     </table> 
    </div> 

Я пытаясь изменить имя атрибута имени текстового поля, чтобы следовать за счетчиком. Так это будет выглядеть следующим образом имя = "tbAnswer1"

Я попытался это:

$(document).on('ready', function() { 
    $("info").closest("input").attr("name", "tbAnswer" + myCounter); 
}); 

Но это не находя его.

Есть ли способ сделать это с помощью jQuery?

Спасибо!

ответ

3

Вы забыли #:

$("#info").find("input").attr("name", "tbAnswer" + myCounter); 

И вы хотите find, не closest. find получает потомков, которые input есть.

+0

И 'input' является потомком' # info' в коде OP, а не родитель. – Dogbert

+0

@ Dogbert Yup, отредактировал это уже. –

0

Попробуйте добавить # до того id

$(document).on('ready', function() { 
    $("#info").find("input").attr("name", "tbAnswer" + myCounter); 
}); 
Смежные вопросы