|
|
|
|
<script type="text/javascript" src="src/jquery.js"/>
<script type="text/javascript">
$('#d').bind("click",function(){
location.href('control.php?ymd='+<?=$_GET["ym"]?>+$(this).innerText);
});
</script>
|
Простейший, казалось бы, скрипт, но у меня с жКвери вражда давняя.
Собственно, при нажатии на любой элемент с id="d" переход не осуществляется. Что может быть тому причиной? | |
|
|
|
|
|
|
|
для: alexander95
(26.11.2011 в 21:04)
| | Если перед location.href добавить alert() - он срабатывает? | |
|
|
|
|
|
|
|
для: cheops
(26.11.2011 в 21:06)
| | Не сработал. | |
|
|
|
|
|
|
|
для: alexander95
(26.11.2011 в 21:10)
| | А у вас отладчик какой-нибудь есть под рукой - там ошибок нет? В каком браузере тестируете скрипт? | |
|
|
|
|
|
|
|
для: cheops
(26.11.2011 в 21:12)
| | FF линуксовый, его веб-консоль молчит. До этого одну ошибку находила, я уже исправил. | |
|
|
|
|
|
|
|
для: alexander95
(26.11.2011 в 21:04)
| | Назначать какую-либо функцию какому-либо элементу/элементам можно только после того, как этот элемент на странице появится. В чистом JS это решается функцией по onload окна, либо прописыванием скриптового блока после тела документа. В ЖиКвери вроде бы есть способ ready
-----
id вообще-то задумывался и используется как уникальный идентификатор.
Много (более одного) элементов с одинаковым id - таковое, конечно, может быть, но исключительно в качестве ошибки написавшего код. Поэтому, например, в методе getElementById оговаривается, что при наличии нескольких элементов с указанным id метод будет возвращать только первый встреченный. | |
|
|
|
|
|
|
|
для: АЯС
(26.11.2011 в 21:13)
| | Так тоже не работает:
$(document).ready(function(){
$('td').bind("click",function(){
alert("smth");
location.href('control.php?ymd='+<?=$_GET["ym"]?>+$(this).innerText);
});
});
|
- - -
Точно. Точно.
Как же тогда быть с элементами, как это реализовать? | |
|
|
|
|
|
|
|
для: alexander95
(26.11.2011 в 21:15)
| | Ну, например, дать элементам разные id, но которые содержат одинаковое начало. Например, так:
<td class="day" id="durak1">25</td>
<td class="today" id="durak2">26</td>
<td class="holiday" id="durak3">27</td>
|
В функция, коя будет назначать обработчик события, поставить условием, что первые пять символов == 'durak' | |
|
|
|
|
|
|
|
для: АЯС
(26.11.2011 в 21:19)
| | Не работает даже так :(
<script type="text/javascript" src="src/jquery.js"/>
<script type="text/javascript">
$(document).ready(function(){
$("td[id^='d']").bind("click",function(){
alert("smth");
location.href('control.php?ymd='+<?=$_GET["ym"]?>+$(this).innerText);
});
});
</script>
|
И элементы d1, d2, d3, ..., dn | |
|
|
|
|
|
|
|
для: alexander95
(26.11.2011 в 21:04)
| | Теги типа таких:
<td class="day" id="d">25</td>
<td class="today" id="d">26</td>
<td class="holiday" id="d">27</td>
|
| |
|
|
|
|
|
|
|
для: alexander95
(26.11.2011 в 21:14)
| | Ок, все как-то потихоньку решилось. Итог:
<script src="http://code.jquery.com/jquery-latest.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$("td[id^='d']").click(function(){
alert("smth");
window.location='control.php?ymd='+<?=$ym?>+$(this).innerText;
});
});
</script>
|
| |
|
|
|