Jquery 在事件发生时更改元素
我想更改事件附加到的元素。在下面的示例中,我尝试将边界从2px增加到10px,但没有成功 完成最小示例(查找失败行):Jquery 在事件发生时更改元素,jquery,Jquery,我想更改事件附加到的元素。在下面的示例中,我尝试将边界从2px增加到10px,但没有成功 完成最小示例(查找失败行): 例子 P{利润率下限:40%;} 第1款 第2款 第3款 $('p')。每个(函数(i){ $(this.css('border','2px solid'); $(窗口)。滚动(功能(事件){ log('已触发滚动,但什么也没发生!'); event.target.css('border','10px solid');//失败,类型错误:event.target.css不是函
例子
P{利润率下限:40%;}
第1款
第2款
第3款
$('p')。每个(函数(i){
$(this.css('border','2px solid');
$(窗口)。滚动(功能(事件){
log('已触发滚动,但什么也没发生!');
event.target.css('border','10px solid');//失败,类型错误:event.target.css不是函数
});
})
明确选择要应用css的元素
$(window).scroll(function (event) {
console.log('scroll triggered, but nothing happens!');
$('body').css('border', '10px solid'); // FAILS with TypeError: event.target.css is not a function
});
即使使用event.target
,在使用.css
方法之前,也必须将其包装在jQuery集合中:
$(event.target).css...
问题是将css应用于窗口不起作用;您只能将css应用于
HTMLElement
对象(从文档下方可以找到)。您的event.target是窗口本身,因此您不能以这种方式将css应用于p标记,尽管您可以这样做:
你到底想改变什么边界?整个窗口的?@ShadowWizard:当出现滚动时,我最初使用jQuery将
2px
中的每个p
设置为10px
。编辑:我看到了我的错误
$(event.target).css...
$('p',event.target).css('border', '10px solid');