Javascript Jquery代码优化(两个不同div的attr()方法)?
我是javascript和jquery的新手,每天我都学习新东西。。。 我正在处理一个文件,我发现自己有以下代码:Javascript Jquery代码优化(两个不同div的attr()方法)?,javascript,jquery,performance,optimization,Javascript,Jquery,Performance,Optimization,我是javascript和jquery的新手,每天我都学习新东西。。。 我正在处理一个文件,我发现自己有以下代码: $('#mobileuser span').attr({ 'class': 'fa fa-user', 'style':'' }); $('#mobilesearch span').attr({
$('#mobileuser span').attr({
'class': 'fa fa-user',
'style':''
});
$('#mobilesearch span').attr({
'class': 'fa fa-search',
'style':''
});
在我尝试优化的过程中,我尝试了此解决方案,但不起作用:
var fontawesome= {
mobileuser: 'fa fa-user',
mobilesearch: 'fa fa-search'
}
$('#mobilesearch span, #mobileuser span').attr({
'class': fontawesome[$(this).parent('div').attr('id')],
'style':''
});
你能建议我优化这段代码的最佳方法吗
非常感谢,很抱歉问你这个问题:)试试这个:
$('#mobilesearch span, #mobileuser span').each(function() {
$(this).attr({
'class': fontawesome[$(this).parent('div').attr('id')],
'style':''
});
});
试试这个:
$('#mobilesearch span, #mobileuser span').each(function() {
$(this).attr({
'class': fontawesome[$(this).parent('div').attr('id')],
'style':''
});
});
您可以将函数传递给
.attr
。为与选择器匹配的每个元素调用该函数,在该函数中,此
是特定元素。它应该返回具有特定属性的对象
$('#mobilesearch span, #mobileuser span').attr(function() {
return {
'class': fontawesome[$(this).parent('div').attr('id')],
'style':''
};
});
您可以将函数传递给
.attr
。为与选择器匹配的每个元素调用该函数,在该函数中,此
是特定元素。它应该返回具有特定属性的对象
$('#mobilesearch span, #mobileuser span').attr(function() {
return {
'class': fontawesome[$(this).parent('div').attr('id')],
'style':''
};
});
你不需要。each()可能不需要。each but your code@gladsocc是你唯一不需要的。each()可能不需要。each but your code@gladsocc是唯一可以工作的。我会尝试让你知道:)我建议将
#id选择器span
替换为一个.class选择器,哪个将被添加到保存图标的元素中(在本例中为span
标记)。@Barmar但您的代码将“return”添加到两个span?真的吗?我不明白这个问题。对不起我很难,因为我是意大利人。。。我想在返回到“#mobilesearch span”和“#MobileSer span”时添加代码,例如,您的代码没有每个()。。。因此,我问您是否首先为“#mobilesearch span”和“#mobileuser span”运行“返回代码”…我尝试让您知道:)我建议将#id选择器span
替换为一个。类选择器
,它将添加到保存图标的元素中(在本例中为span
标记).@Barmar但你的代码在两个span中都添加了“return”?真的吗?我不明白这个问题。对不起我很难,因为我是意大利人。。。我想在返回到“#mobilesearch span”和“#MobileSer span”时添加代码,例如,您的代码没有每个()。。。因此,我问您是否首先为“#mobilesearch span”和“#mobileuser span”运行“返回码”。。。。