元素id未被接受为函数参数
the element id is not being accepted a function parameter?
im试图将参数传递给一个函数,即
animateDiv(div) {
.....
}
这个函数有效,但当我试图像这样向它传递参数时,它无法工作,即
$activeToggle.toggle("slow", function(){
$(this).find(".anime_yellow").each(function (i,e){
console.log(e.id); // this prints simple
animateDiv(simple); // this works
animateDiv(e.id); //this deosnt work but it prints 'simple'
});
当我将核心值传递给它工作的函数,即animateDiv(simple)
时,如果我试图放入一个包含相同内容的变量,它将无法工作animateDiv(e.id)
,这要归功于
完整代码如下:http://jsfiddle.net/Fwhtv/22/
您的animateDiv
假设您将传入一个对象。注意以下几行:
function animateDiv(div){
var text = $('#' + div.id).text(); //div is assumed to be a div element
如果你想通过id
,你必须将其更改为:
function animateDiv(divId){
var text = $('#' + divId).text();
当然,也要更新div.id
的其他引用。
工作:http://jsfiddle.net/Fwhtv/22/
从您的jsfiddle:
function animateDiv(div){
var text = $('#' + div.id).text();
var doAnimate = function() {
$('span.' + div.id).each(function() {
var that = $(this);
setTimeout(function() {
that.animate({ fontSize: "90px" }, 1500 )
.animate({ fontSize: "50px" }, 1500 );
},that.index()*100);
});
}
您正在传递ID,但在函数中您需要元素。
$activeToggle.toggle("slow", function(){
$(this).find(".anime_yellow").each(function (i,e){
console.log(e.id); // this prints simple
animateDiv(simple); // this works
animateDiv(e.id); //this deosnt work but it prints 'simple'
});
在函数(i,e)中,e是元素。
<span id="simple" class="anime_yellow">
要获得的id,您需要使用$(e).attr('id');
animateDiv($(e).attr('id'));
当前您将参数作为对象传递。如果传递对象(span)的id,则需要按如下方式更改span的id。
function animateDiv(div){
// var text = $('#' + div.id).text();
var text = $('#' + div).text();
var doAnimate = function() {
// $('span.' + div.id).each(function() {
$('span.' + div).each(function() {
var that = $(this);
setTimeout(function() {
that.animate({ fontSize: "90px" }, 1500 )
.animate({ fontSize: "50px" }, 1500 );
},that.index()*100);
});
}
相关文章:
- 函数参数中的数据与指定变量之间的任何性能差异
- AngularJS:我可以跳过函数参数回调吗
- 为什么不'我们在javascript中使用函数参数的数据类型
- 使用闭包共享构造函数参数
- 函数参数的值错误
- 当一个重要的构造函数参数丢失时应该发生什么
- 阻止ReSharper将JavaScript函数参数放到新行中
- 根据函数参数将CSS值存储在var中,然后对其进行操作
- 使构造函数参数具有ES6类方法的特权
- 当客户端将两个按钮的javascript函数参数修改为相同时,SQL/PHP会更新多行
- Windows.Networking.EndpointPair构造函数参数
- 是否可以使用Sinon.JS检查函数参数绑定是否正确
- 大括号中的Javascript函数参数
- jQuery 无法使用 AJAX 调用访问函数内部的函数参数
- 将JSON字符串转换为函数参数
- eval()读取函数参数有多糟糕
- Javascript不能在一个命令中使用函数参数
- 函数参数在内部不可见,返回新的Promise(函数(resolve,reject).传递给被promise化的函数的
- ES6类构造函数参数
- 是否可以在javascript函数参数列表中调用多个函数