2010-08-26 2 views
1

Я строю страницу миниатюр с JQuery, как это:Почему метод jQuery html() игнорирует разрывы строк?

ID=this.id; 
$('#thumbs').empty().html('<span class="title">'+$('#'+ID).html())+'</span><br />'; 
var i = 1; 
for (i=1;i<=count[ID];i++) 
    { 
    $('#thumbs').append('<img class="thumb" src="graphics/thumbs/'+ID+'/'+i+'.jpg" />'); 
    } 

Идея заключается в том, что <span> будет появляться, а затем <br />, а затем пальцы, которые просто инлайн графика с нижней и правая граница, заполнит остальную часть страницы. И они ... кроме того, разрыв линии не происходит.

Я использую Dreamweaver, поэтому я могу смотреть код в прямом эфире, и, конечно же, сценарий не вставляет тег <br /> вообще.

Связано ли это с обработкой HTML jQuery? Если да, то как обойти это?

+0

Отсутствует ')' в конце первого вызова 'html()'. это не фактический код, скопированный из вашего проекта? потому что, если это не так, там могут быть какие-то опечатки, которые вы не воспроизвели здесь. jQuery не будет добавлять какие-либо элементы, которые он не может решить. если он * является * фактическим кодом, то этот недостающий ')' определенно является проблемой. –

ответ

3

Не проблема JQuery (по крайней мере, не в версии 1.4.2)

http://www.jsfiddle.net/SbFgf/

Принимая второй взгляд на ваш код, я понял, что ты получил раннее закрытие paranthesis:

$('#thumbs').empty().html('<span class="title">'+$('#'+ID).html()+'</span><br />'); 

Это должно быть сделано.

+0

altho, чтобы быть справедливым, если этот код является точной копией кода OP, ни один из HTML, вставленный этим вызовом, должен быть там, поэтому * по крайней мере * также должен отсутствовать пробел заголовка, и код, вероятно, не будет продолжен для выполнения выше этой ошибки вообще, поэтому, скорее всего, * все * вставленный код должен отсутствовать. –

+0

, но +1 тем не менее, поскольку это не проблема jQuery ... –

+0

Как я уже говорил, я так рад, что со мной что-то не так, а не с jQuery. –

0

Не проблема с функцией html() jquery. Я сделал быстрый test here, и он работает. (также в 1.3.2) Возможно, $('#'+ID).html()) испортил его.

Смежные вопросы