0

Hi what i have is this.

var items = new Array('1','2','3','4','5');
var img = $('<div>',{'id':'slider'});
$.each(items,function(index,src){     
    var li = $('<img>',{src});        
    img.append(li);      
    });
$('body').append(img);

Which create.

<div id="slider">
  <img src="1">
  <img src="2">
  <img src="3">
  <img src="4">
  <img src="5">
</div>

What i am struggling with is to add a tag "figure" and "alt".
So it should look like this.

<div id="slider">
  <figure>
    <img src="1" alt="">
    <img src="2" alt="">
    <img src="3" alt="">
    <img src="4" alt="">
    <img src="5" alt="">
  </figure>
</div>

4 Answers 4

1

You can use attr() to set attribute on elements.

var items = new Array('1', '2', '3', '4', '5');
var img = $('<div>', {
    'id': 'slider'
});
$.each(items, function (index, src) {
    var li = $('<img />').attr({
        src: 'SRCHERE',
        alt: 'TEXT'
        // ^^^^^^^^
    });

    img.append(li);
});
$('body').append(img);

Demo

Sign up to request clarification or add additional context in comments.

2 Comments

@JeremyC. That's what the jQuery does
Nice,but you are missing "figure" tag.No problem i have got answer under.
0

Use:

 var div = $('<div>',{'id':'slider'});
 var figure=$('<figure>');
 $.each(items,function(index,src){     
  var li = $('<img>', {
  src: src,
  alt: 'test'
 });        
 figure.append(li);      
});
$('body').append(div.append(figure));

Working Demo

Comments

0

why don't try try this

var items = new Array('1','2','3','4','5');
var img = $('<div>',{'id':'slider'});
var figure = $('<figure>');
$.each(items,function(index,src){     
    var li = $('<img>',{src});
    li.attr('alt', '');        
    figure.append(li);      
    });
img.append(figure);
$('body').append(img);

Comments

0

You can

var items = new Array('1', '2', '3', '4', '5');
var img = $('<div>', {
    'id': 'slider'
});
var $fig = $('<figure />').appendTo(img)
$.each(items, function (index, src) {
    var li = $('<img>', {
        src,
        alt: ''
    });
    $fig.append(li);
});
$('body').append(img);

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.