Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 13.07.2013, 13:27
Аспирант
Отправить личное сообщение для vladislav.blinov Посмотреть профиль Найти все сообщения от vladislav.blinov
 
Регистрация: 13.07.2013
Сообщений: 30

Сообщение от рони Посмотреть сообщение
непонимаю -- а привязать можно к чему угодно
я пытаюсь реализовать что то вроде этого:
function close(нужные классы){
var trs=document.getElementsByTagName("TR");
for( var i=0; i<екы.length; i++)
   if(trs.className==нужные классы)
     trs.style.display = 'none';
}


а потом в первое поле где date_01_07_2013 вставить ссылку
<a href="javascript:close(dt01_07_2013)">показать поле</a>

но вот всё никак не выходит
Ответить с цитированием
  #12 (permalink)  
Старый 13.07.2013, 14:08
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,112

vladislav.blinov,
что мешает в код который я дал добавить вашу кнопку
Ответить с цитированием
  #13 (permalink)  
Старый 13.07.2013, 14:12
Аспирант
Отправить личное сообщение для vladislav.blinov Посмотреть профиль Найти все сообщения от vladislav.blinov
 
Регистрация: 13.07.2013
Сообщений: 30

мешают только знания точнее их отсутствие) если не трудно напиши пример кнопки.
Ответить с цитированием
  #14 (permalink)  
Старый 13.07.2013, 14:27
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,112

vladislav.blinov,
<!DOCTYPE HTML>
<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style type="text/css">
 a{
   margin-left: 10px
 }

  </style>
</head>

<body>
<table>
	<tr class="date_01_07_2013"><td>01.07.2013</td></tr>
	<tr class="dt01_07_2013">
		<td>имя</td>
		<td>фамилия</td>
	</tr>
	<tr class="dt01_07_2013">
		<td>имя</td>
		<td>фамилия</td>
	</tr>
	<tr class="dt01_07_2013">
		<td>имя</td>
		<td>фамилия</td>
	</tr>
	<tr class="date_31_07_2013"><td>31.07.2013</td></tr>
	<tr class="dt31_07_2013">
		<td>имя</td>
		<td>фамилия</td>
	</tr>
	<tr class="dt31_07_2013">
		<td>имя</td>
		<td>фамилия</td>
	</tr>
	<tr class="dt31_07_2013">
		<td>имя</td>
		<td>фамилия</td>
	</tr>
</table>
<script>
for (var a = document.getElementsByTagName("TR"), b = 0; b < a.length; b++) {
    var d = a[b],
        e = d.className;
    if (/^date_/.test(e)) {
        var e = e.replace("ate_", "t"),
            f = document.createElement("a");
        f.appendChild(document.createTextNode("\u0441\u043a\u0440\u044b\u0442\u044c"));
        d.cells[0].appendChild(f);
        f.href = "#";
        f.onclick = function (g) {
            return function () {
                this.textContent =  this.textContent ==  "\u0441\u043a\u0440\u044b\u0442\u044c" ?  "\u043f\u043e\u043a\u0430\u0437\u0430\u0442\u044c" : "\u0441\u043a\u0440\u044b\u0442\u044c" ;
                for (var c = 0; c < a.length; c++) g == a[c].className && (a[c].style.display = "none" != a[c].style.display ? "none" : "table-row");
                return !1
            }
        }(e);
        f.onclick()
    }
};
</script>
</body>
</html>

Последний раз редактировалось рони, 13.07.2013 в 14:47.
Ответить с цитированием
  #15 (permalink)  
Старый 13.07.2013, 14:46
Аспирант
Отправить личное сообщение для vladislav.blinov Посмотреть профиль Найти все сообщения от vladislav.blinov
 
Регистрация: 13.07.2013
Сообщений: 30

спасибо за помощь
но я никак не могу разобраться в этих строчках
if (/^date_/.test(e)) {
	        var e = e.replace("ate_", "t"),

получается он в первой tr ищет строчку date_ потом делает replace и превращает строку из date_ в dt
но если в первой tr будет class="date_tr date_01_07_2013"
и по логике поменять код на
if (/^date_tr.date_/.test(e)) {
	        var e = e.replace("ate_tr.date_", "t"),

то он должен работать как и было но он начинает работать наоборот т.е. скрывает первую tr (сам себя) что я написал не правильно?
Ответить с цитированием
  #16 (permalink)  
Старый 13.07.2013, 14:53
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,112

vladislav.blinov,
задача была с одним классом из date_31_07_2013 получаем dt31_07_2013 если классов много решается иначе например методом job
Ответить с цитированием
  #17 (permalink)  
Старый 13.07.2013, 15:01
Аспирант
Отправить личное сообщение для vladislav.blinov Посмотреть профиль Найти все сообщения от vladislav.blinov
 
Регистрация: 13.07.2013
Сообщений: 30

это ни к чему, код твой хорошо работает, просто я его модернизирую и изучаю для того что бы лучше разбираться в js. если не сложно скажи метод которым я смогу это сделать, а я попробую про него прочитать и сам уже добить. был бы признателен.
Ответить с цитированием
  #18 (permalink)  
Старый 13.07.2013, 15:11
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,112

vladislav.blinov,
читайте про RegExp меняйте /^date_/ и var e = e.replace("ate_", "t"),
и если необходимо g == a[c].className на if (/class(условно)/.test(a[c].className))
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Поиск элементов по тэгу - getElementsByTagName('table') lamer Общие вопросы Javascript 8 31.01.2013 05:58
Поиск элементов DOM boberjs jQuery 7 14.12.2012 15:26
Получить список ВСЕХ элементов DOM Почемучкин Events/DOM/Window 7 16.04.2012 11:33
поиск элементов в DOM Bebarr Swallow Общие вопросы Javascript 1 24.06.2011 14:57
Поиск элементов по DOM-дереву и работа с XML и XSLT mister_maxim Events/DOM/Window 1 13.03.2011 19:41