Jump to content
  • 0

jquery не работает в ie


j-63
 Share

Question

Хочу я значит удалить родительский элемент у тега <td> тоесть  было так

<div class="categoriinew">
<table><tr><td class="catsTd">...</td></tr></table>

</div>

 

а надо сделать так

 

<div class="categoriinew">
<table><td class="catsTd">...</td></table>
</div>

 

пишу я значит такой код

 

<script type="text/javascript">
      $('.categoriinew td.catsTd').unwrap();
 </script>

 

в мозиле, хроме и ie 9 и выше все нормально, а вот в ie 8 и ниже ничего не работает, подскажите в чем проблема?

Link to comment
Share on other sites

7 answers to this question

Recommended Posts

  • 0

Не делайте так. Это насилие над DOMом. Теги нельзя вкладывать друг в друга как попало. Ячейка не может жить без строки, как улитка — без раковины.

В старых IE, да, есть баг, не позволяющий менять структуру таблицы по частям через innerHTML (можно переписывать таблицу только целиком, либо DOM-методами типа replaceChild или addCell). Но это — не основание для противоестественных манипуляций с DOM и не оправдание для них.

Зачем удалять строку, сохраняя ячейку? Почему нельзя добиться желаемого, просто переопределив класс у строки, например?

Link to comment
Share on other sites

  • 0

смысл в том что есть таблица в 5 строчек, которые нужно сделать в 1 строку, вариант задать выравнивание строке в IE не работает, подскажите тогда, как содержимое ячейки обернуть в div так чтобы это работало в IE?
 

Link to comment
Share on other sites

  • 0

Один вариант — взять код таблицы целиком (который в $('.categoriinew').html()), заменить в нем регуляркой все </tr>\s*<tr> на пустую строку и присвоить обратно в .html() контейнера. Второй вариант — пройтись циклом по строкам, начиная со второй, перенося ячейку из каждой в первую строку (append) и удаляя опустевшую строку.

А вообще нужна ли здесь таблица? Не проще ли обойтись рядом дивов, меняя их display с block на inline/inline-block?

Link to comment
Share on other sites

  • 0

Один вариант — взять код таблицы целиком (который в $('.categoriinew').html()), заменить в нем регуляркой все </tr>\s*<tr> на пустую строку и присвоить обратно в .html() контейнера. Второй вариант — пройтись циклом по строкам, начиная со второй, перенося ячейку из каждой в первую строку (append) и удаляя опустевшую строку.

А вообще нужна ли здесь таблица? Не проще ли обойтись рядом дивов, меняя их display с block на inline/inline-block?

 

можно поподробней про ваши способы, желательно  с ссылками на статьи, про дивы согласен, просто я не имею возможности редактировать код, тогда вопрос как удалить все таблици а содержимое ячеек вставить в дивы?

Link to comment
Share on other sites

  • 0

Вот посмотрите пожалуйста, сделал тестовый пример, вроде работает правдо не проверял еще в ie 6, но при открытие страници IE пиши вот что:
Ie не разрешает выполнение скриптов которые могут получить доступ к пк, щелкните для выбора нужно действия хотя в других браузерах норм, подскажите что не так, и вообще правильно я хоть что то сделал?
в результате получается то что мне нужно. вот код:
 

<html>
<head>
<script type="text/javascript" src="jquery-1.7.2.js"></script>
<style>.new {float:left;}</style>
</head>
<body>

<div class="content">
<table>
<tr>
<td><span>1234</span></td>
</tr>
<tr>
<td><span>5678</span></td>
</tr>
</table>
</div>


<script type="text/javascript">
$("td").wrapInner('<div class="new"></div>');
$("div.new").unwrap();
$("div.new").unwrap();
$("div.new").unwrap();
$("div.new").unwrap();
</script>

</body>
</html>

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy