Изменение атрибута jQuery добавляет пробел?

Пытаясь изменить атрибут чего-либо, у меня все работает, но он добавляет пробел между «=» и «данными», и я действительно не знаю, почему. Я надеялся, что кто-нибудь сможет мне помочь.

function get_delete_news(news_id) {
$.post('remove_get_news.php', {news_id:news_id}, function(data) {
    $('.confirmYes').attr('href', 'remove_news.php?newsID='+data);
});
}

Так что сейчас это написано так: remove_news.php?newsID= 2

И я хочу, чтобы это было так: remove_news.php?newsID=2


person robbinj    schedule 12.12.2012    source источник
comment
Данные представляют собой строку или целое число?   -  person teewuane    schedule 12.12.2012


Ответы (2)


Функция .trim() удалит начальные и конечные пробелы. на струне.

Изменять:

$('.confirmYes').attr('href', 'remove_news.php?newsID='+data);

to:

$('.confirmYes').attr('href', 'remove_news.php?newsID='+data.trim());
person j08691    schedule 12.12.2012
comment
Я думаю, что это правильный ответ, но мне интересно, какова ценность данных, кажется, в первую очередь не должно быть пробелов. - person teewuane; 12.12.2012
comment
Однако $.trim('string') следует использовать для кроссбраузерной совместимости. - person wirey00; 12.12.2012
comment
Это сработало, большое спасибо :) У вас есть идеи, почему там вообще есть пробел? Это не происходит со страницы php. - person robbinj; 12.12.2012
comment
Если вы уверены, что это не со страницы PHP, я не уверен, откуда будет введен пробел. jQuery не добавляет пробелы самостоятельно. - person j08691; 12.12.2012
comment
Я позитивный. Я даже безуспешно пытался обрезать свой php. В любом случае, теперь все работает, так что еще раз спасибо! - person robbinj; 12.12.2012

По-видимому, remove_get_news.php добавляет пробел к своему ответу. Обходным путем было бы сделать:

data.replace(/(^\s+|\s+$)/g, ''); 

перед использованием переменной данных.

person izilotti    schedule 12.12.2012