JQuery головы скребок - PullRequest
       14

JQuery головы скребок

1 голос
/ 25 февраля 2009

У меня есть некоторый код jQuery, который подчеркивает, какая радио-кнопка проверена путем включения границы родительского элемента радиовхода (div). Все переключатели имеют class = "colors", поэтому мой селектор - "input.colors: флажок".

Проблема в том, что он не включает границу при загрузке страницы. Для отладки я поместил то же утверждение в событие наведения, и там оно работает.

Я думал, что функция jQuery ready () будет работать после полной загрузки HTML документа, так почему же кажется, что переключатель не проверяется при запуске read (), а проверяется позже, когда я наведу курсор?

Должен ли этот код работать или я что-то упустил?

Я использую jQuery 1.3.1 и Firefox 3.0.6.

(также: можно ли отладить это в Firebug ??)

Вот код:

$(document).ready(function(){
// This one does NOT work.  No red border when the page loads.
$("input.colors:checked").parent().css({border:'2px solid red'});

$("div.color_choice").hover(
      function(){
           // BUT, this one works!  
           // When I hover over an unrelated div, the red border appears
           // (this line is here only for debugging)
           $("input.colors:checked").parent().css({border:'2px solid red'}); 
      },
      function(){
      }
   );

   ...

Обновление: Хорошо, конечно, это была ошибка с костью. У меня был другой оператор jQuery где-то еще, который устанавливал границу обратно на белый при загрузке страницы. Просто обожгли пару часов, уставившись на это. Слишком много часов на клавиатуре сегодня. Спасибо за ответы - вывели меня в правильном направлении!

Ответы [ 2 ]

2 голосов
/ 25 февраля 2009

у меня работает просто отлично. Я предполагаю, что у вас есть ошибка где-то еще, что приводит к поломке вашего сценария. Firebug - твой друг.

0 голосов
/ 25 февраля 2009

у меня работает:

<html>
<head><title>Title</title>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<script type="text/javascript">
$(document).ready(function() {
    $("input.colors:checked").parent().css({border:'2px solid red'});
});
</script>
</head>
<body>

<div><input class="colors" type="checkbox" checked="checked" /></div>
<div><input class="colors" type="checkbox"></div>

</body>
</html>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...