Почему моя функция Jquery не работает? - PullRequest
0 голосов
/ 28 марта 2011

У меня есть эта функция jquery ---

function domail_slide_settings(obj)
{
  $("div#" + obj).toggle();
}

, и когда я выполняю ее следующим образом ---

<a href="#" onclick="domail_slide_settings('toggle')" id="toggle" >Toggle</a>

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

Заранее спасибо!

Ответы [ 5 ]

4 голосов
/ 28 марта 2011

Атрибуты идентификатора должны быть уникальными в HTML-документе, иначе вы столкнетесь с нежелательными побочными эффектами.Судя по всему, ваш элемент <a> с обработчиком клика имеет тот же атрибут id, что и элемент div#toggle, который вы переключаете.Это почти наверняка будет проблемой в некоторых браузерах.

Попробуйте изменить идентификатор элемента <a> на уникальный:

<a href="#" onclick="domail_slide_settings('toggle')" id="toggle_div" >Toggle</a>
4 голосов
/ 28 марта 2011

попробуйте с

  $("#" + obj).toggle();

и укажите его на элемент

вместо якоря
1 голос
/ 28 марта 2011

Попробуйте вместо этого:

<a href="#" id="toggle">Toggle</a>
<div id="div_toggle"></div>

и это:

$(function() {
    $("#toggle").click(function(e){
        e.preventDefault();
        $("#div_" + this.id).toggle();
        // or $(this).next().toggle(); depending on your markup
    });
});

Могу поспорить, что вы используете один и тот же идентификатор для тега <a> и тега <div>, чего не следует делать.

0 голосов
/ 28 марта 2011

результат вашей конкатенации строк - "div # toggle" - выбирает div с переключателем id вместо якоря.

Я думаю, вы хотели выбрать его как:

$("#toggle").parent()

или, если вы действительно хотите использовать сам якорь, используйте это:

$("#toggle")

В любом случае, поскольку ваша функция является обработчиком onclick (хотя и напрямую через браузер, но не использует API-интерфейсы событий jQuery), вы также можете сделать это:

function domail_slide_settings() {
    $(this).parent().toggle()
    // or this.toggle();
}
0 голосов
/ 28 марта 2011

или вы можете попробовать

$('#' + obj).parent().toggle();

^^ * * 1004

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