jquery использовать переменную в строке для appendTo - PullRequest
2 голосов
/ 28 сентября 2010

Как добавить эту переменную URL в список?

Я возился с этим: http://jsfiddle.net/Y2ER7/4/

JS:

$(function() {
    var pic = "http://jqueryui.com/demos/droppable/images/high_tatras3_min.jpg";

    // doesn't work
    $("<li><img /></li>").attr("src", pic).appendTo("#album ul");
    $("<li><img src='pic' /></li>").appendTo("#album ul");

    // hardcoded works
    $("<li><img src='http://jqueryui.com/demos/droppable/images/high_tatras3_min.jpg' /></li>").appendTo("#album ul");
});

HTML:

<div id="album">
    <ul>
        <li>red</li>
        <li>green</li>
        <li>blue</li>
    </ul>
</div>

Ответы [ 2 ]

9 голосов
/ 28 сентября 2010

Вы хотите установить src на <img>, поэтому .wrap() это в <li></li>, например:

$("<img />").attr("src", pic).wrap("<li />").parent().appendTo("#album ul");

Вы можете проверить это здесь , убедитесь, что вы используете .parent(), чтобы получить <li>, в который вы его завернули.

0 голосов
/ 28 сентября 2010

Вы можете сделать что-то вроде этого: http://jsfiddle.net/Y2ER7/6/

$("<li />", {html:"<img src='" + pic + "' />"}).appendTo("#album ul");

Создает новый элемент <li>, содержимое HTML которого установлено как <img> с конкатенацией pic для атрибута src.


РЕДАКТИРОВАТЬ: Как описано в комментариях @Nick Craver ниже, если вы не уверены в источнике вашей переменной pic, вам не следует объединять атрибут src, как в этом ответе ,

Если вы используете строку, как в вашем вопросе, не должно быть проблемы.

...