Проблемы с jquery
Всем привет! Вопрос по jquery.
parent.find(".area_edit").hide(); тут несколько объектов, именно 2 штуки так тоже не работает var objs = parent.find(".area_edit");//.hide(); for ( var i = 0; i < objs.length; ++i ) $(objs[i]).hide(); и ещё вопрос: $(this).hide(); должно работать? |
Цитата:
может так $(parent).find(".area_edit").each(function(){$(this).hide()}) |
всё равно не работает(
|
parent это что?
|
var parent = $(this).parent(); |
должно работать-полностью приведите с html
|
вот так работает
$(function(){$('#ccc').click(function(){var parent=$(this).parent();$(parent).find (".area_edit").each(function(){$(this).hide()})}) }); |
parent - пустая коллекция. Очевидно, причина в том, что this - не ссылается на дом-элемент. Скорее всего, this == window.
Выход: научится пользоватся отладчиком. |
<td class='area'> <input type='hidden' class='area_id' value='{$area_id}'> <select class='area_edit'></select> <button class='area_edit ok_btn' text='OK'>OK</button> <label id='area_name'>{$area_name}</label> <td> $(".ok_btn").click( function(){ //console.log("ok_btn clicked") //console.log( $(this).parent().html()) var parent = $(this).parent(); if ( parent.hasClass("area")) { //console.log("area") var new_area_name = parent.find(".area_edit option:selected").text(); var new_area_id = parent.find(".area_edit option:selected").val(); console.log(new_area_name) parent.find(".area_id").val( new_area_id ); parent.find("#area_name").text( new_area_name ); parent.find("#area_name").show(); parent.find(".area_edit").each(function(){$(this).hide()}) $(this).hide(); } ... }) |
$(this).hide();
удалите в конце У Вас там таблица а это фрагмент? все работает |
Часовой пояс GMT +3, время: 05:06. |