我正在浏览一些jQuery lib,发现html元素选择像$('<img/>')
,我真的很困惑。
文档代码如下:
function loadImage(src, callback) {
$('<img />').attr('src', src).load(function() {
TestCanvas.init(this);
callback && callback();
})
然后我尝试实现以下代码
$(document).ready(function(){
$("button").click(function(){
$('<img/>').attr("width", "500");
});
});
根据我的假设没有工作,因为我认为它是选择器,那么它是一个选择器或html元素加法器还是什么?
答案 0 :(得分:3)
传递$('<img />')
中的元素字符串实际上会在jquery包装器中创建一个html元素。
你可以像在DOM元素中那样在内存中操作它。
当您准备使用此元素时,可以使用jQuery函数(如append()或prepend())将其添加到DOM中。
答案 1 :(得分:2)
如果您使用的是第一个示例,jQuery(html)
从提供的原始HTML字符串动态创建DOM元素。
$('<img />')
将为IMG
标记创建一个DOM对象,以下是创建HTML的示例
//Create a new DOM object/element
var img = $('<img/>');
//Mainpuate properties
img.prop("src", "https://lh5.googleusercontent.com/-ieBdk590MHM/AAAAAAAAAAI/AAAAAAAAACI/-D_w2n30j4I/photo.jpg?sz=328");
//Append to DIV
img.appendTo('div');
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div></div>
&#13;
如果您打算创建select元素,请使用Element Selector (“element”)
$('img').width(100);
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div>
<img src="https://lh5.googleusercontent.com/-ieBdk590MHM/AAAAAAAAAAI/AAAAAAAAACI/-D_w2n30j4I/photo.jpg?sz=328">
</div>
&#13;