Я применил appendTo()
jquery, но мне хотелось бы знать, почему изображение не имеет места между изображениями. Вы можете видеть в демонстрационном примере добавленное изображение, которое устраняет пробел.
var m = $('#main');
m.find('img:lt(3)').clone().appendTo(m);
Хорошо, я понял это сейчас. Но как я могу добавить это пространство?
Если вам нужен контролируемый промежуток между изображениями, то примените к изображениям поля или отступы.
Браузеры помещают пробел между двумя изображениями, у которых есть пробелы в HTML между ними. Когда вы добавляете изображения программно, между ними нет пробелов и, следовательно, нет пробелов.
Вы даже можете сгладить существующие пробелы до нуля, установив размер шрифта: 0 или исключив пробелы в HTML.
img {
width: 100px;
padding: 3px;
}
#main {
font-size: 0;
}
Здесь представлена демонстрация равного расстояния между всеми изображениями: http://jsfiddle.net/jfriend00/sHnS3/
Поскольку вы клонируете только images
видите, что вы использовали line-break
в каждом image
Таким образом, cloning
выполняется только для images
не для line-breaks
Если вы видите демонстрацию без line-breaks
вы увидите, что между ними есть space
И вы хотите дать same space
для каждого image
затем использовать padding:3px
like,
img{
width: 100px;
padding:3px;
}
Обновлено, вы можете сделать это с помощью jquery
без paading
,
var m = $('#main');
var n=m.clone();
n.find(':gt(2)').remove();
$(n.html()).appendTo(m);
Но я предлагаю использовать CSS
если нет необходимости в jquery
updated answer
и fiddle
Попробуйте добавить float: left; в классе img css
JQuery cloning устраняет разрывы пробелов/строк между элементами html.
appendTo
не добавляет пробелы.