доступ к $ (это) с помощью href = "javascript: ..." в jQuery - PullRequest
2 голосов
/ 13 сентября 2008

Я использую jQuery. Я вызываю функцию JavaScript со следующим html:

<li><span><a href="javascript:uncheckEl('tagVO-$id')">$tagname</a></span></li>

Я хотел бы удалить элемент li и подумал, что это будет легко с объектом $(this). Это моя функция JavaScript:

function uncheckEl(id) {
    $("#"+id+"").attr("checked","");
    $("#"+id+"").parent("li").css("color","black");                 
    $(this).parent("li").remove();  // This is not working
    retrieveItems();
}

Но $(this) не определено. Есть идеи?

Ответы [ 2 ]

3 голосов
/ 13 сентября 2008

Попробуйте что-то вроде этого (например, чтобы скрыть <li>):

function unCheckEl(id, ref) {
  (...)
  $(ref).parent().parent().hide(); // this should be your <li>
}

И ваша ссылка:

<a href="javascript:uncheckEl('tagVO-$id', \$(this))">

$(this) не присутствует внутри вашей функции, потому что как он должен знать, откуда вызывается действие? В нем нет ссылки, поэтому $(this) может относиться ко всему, кроме <a>.

1 голос
/ 16 сентября 2008

Почему не что-то вроде:

<li id="uncheck_tagVO-$id">$tagname</li>

и

$('li').click( function() {
    var id = this.id.split("_")[1];
    $('#'+id).attr("checked","").parent("li").css("color","black"); 
    $(this).remove();
    retrieveItems();
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...