jquery将字符串中的变量用于appendTo
如何将此URL变量附加到列表中 我在摆弄这个: JS:jquery将字符串中的变量用于appendTo,jquery,variables,appendto,Jquery,Variables,Appendto,如何将此URL变量附加到列表中 我在摆弄这个: JS: $(函数(){ 变量pic=”http://jqueryui.com/demos/droppable/images/high_tatras3_min.jpg"; //不起作用 $(“”)附录(“#相册ul”); //硬编码作品 $(“”)附录(“#相册ul”); }); HTML: 红色的 绿色的 蓝色的 您想在“”.parent()上设置src。appendTo(“#相册ul”); ,请确保使用获取您包装的。您可以执行以下操作:
$(函数(){
变量pic=”http://jqueryui.com/demos/droppable/images/high_tatras3_min.jpg";
//不起作用
$(“”)附录(“#相册ul”);
//硬编码作品
$(“”)附录(“#相册ul”);
});
HTML:
- 红色的
- 绿色的
- 蓝色的
您想在“”.parent()上设置src
。appendTo(“#相册ul”);
,请确保使用获取您包装的
。您可以执行以下操作:
$(“”,{html:});
创建一个新的
元素,将其HTML内容设置为属性
编辑:如下面@Nick Craver的评论所述,如果您不确定pic
变量的来源,则不应像此答案中那样连接src
属性
如果您在问题中使用的是字符串,那么应该没有问题。…为什么要使用DOM方法创建一个元素,然后在其中创建另一个元素作为字符串?@Nick-缺乏经验?:o)我想jQuery提供html:
选项肯定有一些原因,但也许最好不要使用它?@patrick-JusDon’不要意识到危险,例如,pic
中有引号,XSS附加等等,最好以这样或那样的方式创建,DOM总是更安全的途径:)@Nick-既然jQuery(大概)正在调用.html()
设置HTML内容?@patrick-不,这正是问题所在,盲目地做。innerHTML
:)。text()
,等等编码,就像属性一样,它会处理很多攻击。那太好了,谢谢Nick。知道我为什么在这里松开CSS格式吗:@FFish-我的错,你需要一个.parent()
在那里获取,.wrap()
返回
否则,这里是你的小提琴更新:Nick=SuperHero。不过我自己找到了一个解决方案。只需添加带有拇指样式的类。干杯。@FFish-确保使用.parent()
!,如果没有它,您将在
后附加,这是无效的,它需要位于中。
$(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");
});
<div id="album">
<ul>
<li>red</li>
<li>green</li>
<li>blue</li>
</ul>
</div>
$("<img />").attr("src", pic).wrap("<li />").parent().appendTo("#album ul");
$("<li />", {html:"<img src='" + pic + "' />"}).appendTo("#album ul");