2013-04-02 2 views
-1

В моей таблице у меня есть [объект HTMLInputElement], и я хотел бы изменить идентификатор этого элемента. Но это не работает:Tablesorter: изменить идентификатор после сортировки

`функции BindFunctions() {

 $('table[id*="tbl_main"]').tablesorter(); 
     $('table[id*="tbl_main"]').bind("sortEnd",function() { 
      var table = document.getElementById('<%=tbl_main.ClientID%>'); 
      for (var i = 0, row; row = table.rows[i]; i++) { 
       var e = row.cells[0].firstChild; 
       e.id= '5';   
      } 
     }); 
    };` 

Может кто-нибудь мне помочь?

+0

* «Кто-нибудь может мне помочь?» * Не видя связанной разметки? Возможно нет. –

ответ

0

Не видя связанной разметки, это очень трудно помочь. Но я предполагаю, что первый дочерний элемент ячейки является текстовым узлом, а не элементом. Свойство DOM firstChild дает вам первый узел, который может быть или не быть элементом. Например, если строка таблицы выглядит следующим образом:

<tr><td>Foo</td></tr> 

... затем row.cells[0].firstChild текстовый узел, содержащий текст "Foo".

Также обратите внимание, что ваш код, как указано, создаст недопустимый структуру DOM: Вы не можете использовать тот же id на более чем одного элемента в документе. Вы пытаетесь присвоить значение id значение "5" первому дочернему элементу каждой строки. id значения must быть уникальным.

Кроме того, похоже, что вы используете jQuery (хотя вы не отметили вопрос jquery). Я просто упомянул, что в то время как "5" является допустимым значением id для HTML, это не значение id для CSS, а так как jQuery использует селектор стиля CSS, это проблематично использовать недопустимые значения CSS id с помощью jQuery.

+0

, когда я предупреждаю (e) Я получаю HTMLInputElement, поэтому я думаю, что он принимает правильный элемент. И когда я отлаживаю, я действительно вижу, что идентификатор установлен 5, но он не фиксирует это. – user2235511

+0

@ user2235511: Если это элемент ввода, то ваш код 'e.id =" 5 ";' будет работать. Так что это не проблема, которую вы испытываете. Либо он относится к недопустимой структуре, которую вы пытаетесь создать, либо независимо от того, что вы наблюдаете, что заставляет вас думать, что она не работает, а не до «id» вообще. –

+0

Хорошо, ваше объяснение помогло. спасибо – user2235511

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