나는 이상한 행동을합니다. 나는이 코드를 가지고있다 (나는 관련없는 코드를 제거한다).html jquery 함수가 작동하지 않지만 replaceWith 않습니다
$(function() {
function get_translations() {
$('#translations tr').not(':eq(0)').remove();
var item = {
context: "1: context",
term: "2: term",
translation: "3: translation"
};
var tr = $('<tr/>').
append('<td class="context">' + (item.context || ' ') + '</td>').
append('<td class="original-string">' + item.term + '</td>').
append('<td class="translation translated-string">' + item.translation +
'</td>').
append('<td class="delete-col"><button class="'+
'delete translation-delete">X</button></td>').
data('term', item.term || '').
data('translation', item.translation || '').
data('context', item.context || '').
appendTo('#translations');
}
get_translations();
$('td.translation').live('click', function() {
var $this = $(this);
if ($this.find('textarea').length == 0) {
var text = $this.empty().parent().data('translation');
//$this.data('content', text).empty();
$this.html('<tex' + 'tarea>' + text + '</text' +
'area><button>Save</button><a href="#" class="_cancel">Cancel</a>');
//appendTo($this);
}
});
$('td.translation button').live('click', function() {
var td = $(this).parent();
var tr = td.parent();
console.log(td);
td.html('foo');
//td.replaceWith('<td class="translation translated-string">foo</td>');
});
});
td.html('foo');
핸들러 $('td.translation button')
에서 작동하지 않습니다하지만 td.replaceWith('<td class="translation translated-string">foo</td>');
는 않습니다. 오류가 없으며 단순히 아무것도하지 않습니다.
$(function() {
$('table').append('<tr><td>:empty</td></tr>');
$('td').live('click', function() {
var tr = $(this).parent();
$(this).html('<textarea></textarea><a class="foo" href="#">a:</a>');
});
$('.foo').live('click', function() {
var td = $(this).parent();
var tr = td.parent();
td.html(':empty');
return false;
});
});
하지만 위의 코드가 작동 :
나는이를 사용하여이 동작을 다시 시도하십시오.
replaceWith
을 사용할 수 있지만 그 이유는 무엇인지 알고 html
기능이 작동하지 않습니다. 왜 그런지 알아?
업데이트 : : window.td = td;
을 추가하면 콘솔에서 html을 호출 할 수 있습니다.
"작동하지 않음"보다 구체적입니다 - 아무 일도 일어나지 않습니다, 자바 스크립트 오류가 발생합니까? 예기치 않은 결과가 발생합니까? –
예상되는 결과는 무엇입니까? '.html ('foo')'는 foo 클래스를 가진 DOM 요소를 만들지 않을 것입니다 ... – gdoron
@AnthonyGrist @gdoron'