Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 02.04.2012, 16:01
Аспирант
Отправить личное сообщение для faraday Посмотреть профиль Найти все сообщения от faraday
 
Регистрация: 10.03.2012
Сообщений: 50

имеет ли элемент рамку
Здравствуйте, не могу решить элементарную задачу, есть страница с элементами. при щелчке на элемент у него появляется рамка, при повторном должна убираться.
<body>
<script type='text/javascript' src='http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js'></script>
<p>1</p>
<p>2</p>
<p>3</p>
<p>4</p>
        		<script type="text/javascript">
				$('p').css('border','none');
				$('p').click(function(){
				alert(3);
				if($(this).css('border')=='none')
					$(this).css('border','1px solid black');
				else
					$(this).css('border','none');
					});
                </script>
</body>



Проую этот код, ничего не работает , если вызвать alert($(this).css('border')) элемента с границей, выдасться пустота.

Последний раз редактировалось faraday, 02.04.2012 в 16:04.
Ответить с цитированием
  #2 (permalink)  
Старый 02.04.2012, 16:38
Лаборант :-)
Отправить личное сообщение для Pavel M. Посмотреть профиль Найти все сообщения от Pavel M.
 
Регистрация: 08.11.2011
Сообщений: 806

лучше используйте классы и переключайте их
<!DOCTYPE html>
<html>
<head>
<script src="http://code.jquery.com/jquery-1.7.1.min.js"></script>
<meta charset=utf-8 />
<title>Test</title>
<style>
  .border {
    border: 1px solid black;
  }
</style>
</head>
<body>
  <p>1</p>
  <p>2</p>
  <p>3</p>
  <p>4</p>
  <script>
    $('p').click(function () {
      $(this).toggleClass('border');
    });
  </script>
</body>
</html>
Ответить с цитированием
  #3 (permalink)  
Старый 02.04.2012, 17:03
Аспирант
Отправить личное сообщение для faraday Посмотреть профиль Найти все сообщения от faraday
 
Регистрация: 10.03.2012
Сообщений: 50

да, спасибо, так работает:
if($(this).hasClass('sel0'))
											$(this).removeClass('sel0');
											else
											$(this).toggleClass('sel0');

но всё ранво проблемма стрнаная
Ответить с цитированием
  #4 (permalink)  
Старый 02.04.2012, 17:37
Лаборант :-)
Отправить личное сообщение для Pavel M. Посмотреть профиль Найти все сообщения от Pavel M.
 
Регистрация: 08.11.2011
Сообщений: 806

если очень хочется использовать .css('border....')
то можно так
<script type='text/javascript' src='http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js'></script>
<p>1</p>
<p>2</p>
<p>3</p>
<p>4</p>
<script type="text/javascript">

$('p').click(function(){

  if($(this).css('border-left-style') !== 'solid')
      $(this).css('border','1px solid black');
  else
      $(this).css('border','none');
});
</script>


просто .css() возвращает то что возвращает getComputedStyle
а там обычно все разбито на отдельные элементы
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Drag-n-Drop - перетянуть элемент Jugo ExtJS 1 10.08.2011 19:10
Как передать элемент в переменную из функции kichSman jQuery 3 12.07.2011 22:16
перенести элемент в другой контейнер debugx jQuery 2 02.06.2011 15:53
Кодировка при использовании Ajax Nichloas AJAX и COMET 9 17.09.2009 16:06
Как узнать имеет ли родительский элемент потомков? Sc@M Events/DOM/Window 2 29.08.2008 16:00