好的,通常我认为自己是jquery的中间用户,但这似乎是一个非常noob的问题,我不太确定如何编码.
我有一个div,我想运行一个函数.我知道如何做到这一点的唯一方法是......
$("#divname").each(function(){
dostuff();
});
Run Code Online (Sandbox Code Playgroud)
当我知道只有一个元素时,这似乎更有用.我试过这个......
$("#divname", function(){
console.log($(this));
});
Run Code Online (Sandbox Code Playgroud)
......但它写出了整个dom.我只想在这一个元素上运行该函数.我怎么做?
Sam*_*son 26
您应该调用该函数,将您的元素作为其对象传递:
function doStuff() {
alert( $(this).html() );
}
doStuff.call( $("#foo")[0] );
Run Code Online (Sandbox Code Playgroud)
由于我们构建和调用的方式doStuff,我们仍然可以将其用作回调.each:
$(".bar").each( doStuff );
Run Code Online (Sandbox Code Playgroud)
小提琴:http://jsfiddle.net/jonathansampson/WuyJc/
the*_*dox 20
如果你认为HTML DOM中的每个元素都是唯一的id,这意味着没有两个元素具有相同的元素id,那么$('#divname')总是返回一个元素并$('#divname').each()运行一次.不超过一个.
现在在你的情况下你想要的东西
dosomething( $('#divname') );
Run Code Online (Sandbox Code Playgroud)
例如:
function doSomething( el ) {
el.append('<span>hello</span>');
}
doSomething( $('#divname') );
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
50977 次 |
| 最近记录: |