Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 28.09.2015, 21:54
hhh hhh вне форума
Профессор
Отправить личное сообщение для hhh Посмотреть профиль Найти все сообщения от hhh
 
Регистрация: 19.11.2013
Сообщений: 150

Интересная задачка с пробелами
Здравствуйте! Химичу свой велик значит. При клике удаляем ячейки, но как они удалятся меня не устраивает, остаются ненужные пробелы. Вопрос, если можно сделать регуляркой, на сколько она будет сложна?

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Document</title>

  <script src="http://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>

  <script>
    $(function () {

     var table$ = $('table'),
         tableHtml$ = table$.html().replace(/</g, '&lt;').replace(/>/g, '&gt;'),
         result$ = $('#result'),
         btn$ = $('#btn');

    result$.html(
        '<pre>' + tableHtml$ + '</pre>'
      )

      btn$.on('click', function () {
        table$.find('td').last().remove();
        tableHtml$ = table$.html().replace(/</g, '&lt;').replace(/>/g, '&gt;');

        result$.html(
            '<pre>' + tableHtml$ + '</pre>'
          )

      });

    });
  </script>

</head>
<body>

<button id="btn" style="margin-bottom: 20px">removeer</button>

<table>
 <tbody>
   <tr>
     <td>lorem</td>
     <td>lorem</td>
     <td>lorem</td>
     <td>lorem</td>
   </tr>
 </tbody>
</table>

<div id="result"></div>

</body>
</html>
Ответить с цитированием
  #2 (permalink)  
Старый 29.09.2015, 00:11
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

$('table').empty() вместо всего этого безобразия, и не именуйте так table$, очень сложно читать.
Ответить с цитированием
  #3 (permalink)  
Старый 29.09.2015, 00:31
hhh hhh вне форума
Профессор
Отправить личное сообщение для hhh Посмотреть профиль Найти все сообщения от hhh
 
Регистрация: 19.11.2013
Сообщений: 150

Сообщение от laimas
$('table').empty()
не подойдет
Сообщение от laimas
и не именуйте так table$, очень сложно читать
Наоборот, хорошим тоном считается именатовать ссылки на обернутый набор таким образом.
Ответить с цитированием
  #4 (permalink)  
Старый 29.09.2015, 00:57
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от hhh
не подойдет
Чем?

Сообщение от hhh
Наоборот, хорошим тоном считается именатовать ссылки на обернутый набор таким образом.
Даже так? И это при том, что jQuery по умолчанию использует этот символ? Хороший тон это - $table
Ответить с цитированием
  #5 (permalink)  
Старый 29.09.2015, 01:06
Кандидат Javascript-наук
Отправить личное сообщение для sortarray Посмотреть профиль Найти все сообщения от sortarray
 
Регистрация: 19.09.2015
Сообщений: 117

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Document</title>
</head>
<body>
 
<button id="btn" style="margin-bottom: 20px">remover</button>
 
<table id="t">
 <tbody>
   <tr>
     <td>lorem1</td>
     <td>lorem2</td>
     <td>lorem3</td>
     <td>lorem4</td>
   </tr>
 </tbody>
</table>
 
<div id="result"></div>

<script>

var copyToResult = function(){result.innerHTML = "<pre>" + t.innerHTML.replace(/</g, "&lt").replace(/>/g, "&gt") + "</pre>"}

var re = /(\r\n\s*\r\n)+|(\n\s*\n)+/g
var removeEmptyLines = function(){
  result.innerHTML = result.innerHTML.replace(re, function(s){if(/\r/.test(s)) return "\r\n"; return "\n"}) 
}

copyToResult()

btn.onclick = function(){
  var cols = t.querySelectorAll("td")
  if (!cols.length) return
  cols[cols.length - 1].remove()
  copyToResult()
  removeEmptyLines()
}


</script>
 
</body>
</html>
Ответить с цитированием
  #6 (permalink)  
Старый 29.09.2015, 11:41
hhh hhh вне форума
Профессор
Отправить личное сообщение для hhh Посмотреть профиль Найти все сообщения от hhh
 
Регистрация: 19.11.2013
Сообщений: 150

Сообщение от laimas
Даже так? И это при том, что jQuery по умолчанию использует этот символ? Хороший тон это - $table
Я бы сам не придумал. Пишут сами авторы jquery. Лень копипастить, процитирую по памяти. Некоторые разработчики ставят доллар перед переменной, некоторые в конце. В примере было в конце, мне понравилось и я так делаю. Это как правша и левша)
Ответить с цитированием
  #7 (permalink)  
Старый 29.09.2015, 11:42
hhh hhh вне форума
Профессор
Отправить личное сообщение для hhh Посмотреть профиль Найти все сообщения от hhh
 
Регистрация: 19.11.2013
Сообщений: 150

sortarray,
Спасибо вечером потесчу! Вижу что-то годное
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Разделение разрядов числа пробелами. Kolyaj Ваши сайты и скрипты 17 12.03.2020 15:57
Интересная задачка на сортировку Vitaliy_m Ваши сайты и скрипты 1 09.06.2012 03:34
flash media server интересная все таки штука.... Sadist_dead Flash 4 07.12.2011 21:17
Преобразование числа к виду с пробелами Mutagena jQuery 9 29.07.2011 13:42
Небольшая задачка Maksim jQuery 4 30.09.2009 19:43