Вы можете попробовать проверить длину как
length(body('Run_query_and_list_results_2')?['value']) = 0
или использовать оператор равенства как
"equals":[ "@empty(body('Run_query_and_list_results_2')?['value'])", true ]
Поскольку при замене исходного элемента связанные с ним события удаляются. Вам нужно будет повторно присоединить обработчик события click
к оригиналу
после вызова replace.replaceWith (original)
:
$(function()
{
function replace()
{
var replacement = $(document.createElement('span'));
var original = $(this).replaceWith(replacement);
replacement
.css('background-color', 'green')
.text('replacement for ' + $(this).text())
.click(function()
{
replacement.replaceWith(original);
original.click(replace);
});
}
$('.x').click(replace);
});
ОБНОВЛЕНИЕ : live ()
и bind ()
устарели в пользу на ()
.
Вы можете использовать события live () и bind () , это ваш новый код:
$(function() {
$('.x').live('click', function() {
var replacement = $(document.createElement('span'));
var original = $(this).replaceWith(replacement);
replacement
.css('background-color', 'green')
.text('replacement for ' + $(this).text())
.bind('click', function() {
replacement.replaceWith(original);
});
});
});
-Live event работает с jQuery 1.3 и выше.
-если вы хотите остановить прямое распространение, используйте функцию die () .