2010-02-15 1 views
1
$('#test-list').append($(document.createElement("li")).attr({id: data.msg})); 
$('#'+data.msg).append($(document.createElement("img")).attr({src: "kep.php?kep=upload/"+data.msg+"&w=180;&h=150;"})); 

Не работает, из-за параметра $('#'+data.msg).. Я не знаю, как это исправить. Я хочу сделать подэлемент в # test-list и называть его значением переменной data.msg.Значение переменной JavaScript в элементе.append

+1

Что такое значение 'data.msg' и то, что ** ** точно не работает? есть сообщения об ошибках? –

+2

ли data.msg изменение с течением времени? Например, это в структура петли? –

ответ

2

Вы могли цепь всю эту задачу:

$("<li>") 
    .appendTo("#test-list") 
    .attr("id", data.msg) 
    .append("<img>") 
     .find("img:first") 
     .attr("src", "kep.php?kep=upload/" + data.msg + "&w=180;&h=150;"); 

который производит следующее:

<li id="foo"> 
    <img src="kep.php?kep=upload/foo&amp;w=180;&amp;h=150;"> 
</li> 

Где "Foo" была значением data.msg ,

2

Вы можете добавить изображение при создании <li>.

Например:

$('#test-list').append(
    $('<li><img src="kep.php?kep=upload/' + data.msg + '&w=180;&h=150" /></li>') 
     .attr('id', data.msg) 
    ); 
2

Попробовать это

var img = $("<img>").attr({src: "kep.php?kep=upload/"+data.msg+"&w=180;&h=150;"}); 
$("<li>").attr({id: data.msg}).append(img).appendTo('#test-list'); 

Если вы используете JQuery 1.4.x вы можете сделать:

var img = $("<img>",{src: "kep.php?kep=upload/"+data.msg+"&w=180;&h=150;"}); 
$("<li>",{id: data.msg}).append(img).appendTo('#test-list'); 
2

Вы должны быть смешением DOM звонки и jQuery нечетным образом. Я бы предложил сделать все это с помощью jQuery. Цепочка элементов несколько путается с точки зрения того, к чему вы добавляете, и к чему вы указываете атрибуты. Вы можете указать id и т. Д. Непосредственно при создании элемента.

Это должно работать:

$('#test-list').append($("<li id='"+data.msg+"'><img src='kep.php?kep=upload/"+data.msg+"&w=180;&h=150'></li>") 
0

Если бы я должен был догадаться, я бы сказал, что ваш data.msg имеет значение, которое не разрешено в качестве идентификатора для целей селектора (обычно начиная с [-a-zA-Z] и содержащего [_- \ da-zA-Z]. Если ваше имя изображения (data.msg) начинается с или является числом, я бы предложил добавить префикс к id.

В любом случае вы можете сделать это в один оператор ...

$("<li/>") 
    .attr("id", data.msg) 
    .append(
    $("<img/>") 
     .attr("src", "kep.php?kep=upload/"+data.msg+"&w=180;&h=150") 
) 
    .appendTo("#test-list");

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

  • Нет связанных вопросов^_^