所以基本上我有一个代码来查找div并向它们附加一个iframe,但是我把它们作为一个开头只用if语句,任何想法我怎么能重构它们,尝试了一些其他的 - 如果是,但他们没有'工作。代码如下所示:
if ($('.similar-products')) {
$('.similarproducts').append(iframe_html);
}
if ($('.partial--product')){
$('.partial--product').append(iframe_html);
}
if ($('.product-page')){
$('div.product-page').append(iframe_html);
}
if($('#section-product-page')){
$('#section-product-page').append(iframe_html);
}
//needs fix
if($('.swatch-product-id-*')){
$('.swatch-product-id-*').append(iframe_html);
}
if($('.product__tabs')){
$('.product__tabs').append(iframe_html);
}
if($('.main-content-wrapper')){
$('.main-content-wrapper').append(iframe_html);
}
if($('#shopify-section-product-description-bottom-template')){
$('#shopify-section-product-description-bottom-template').append(iframe_html);
}
if($('.product-details-inline')){
$('.product-details-inline').append(iframe_html);
}
if($('.social-footer')){
$('.social-footer').prepend(iframe_html);
}
if($('.section-related-products')){
$('.section-related-products').append(iframe_html);
}
if($('.product-details')){
$('.product-details').append(iframe_html);
}
答案 0 :(得分:4)
我认为你在这里使用jQuery。如果是这种情况,拥有if
块是没有意义的。因为jQuery查找匹配的选择器并执行函数中指定的任务。如果没有找到给定选择器的元素,则将忽略例程而不会出现错误。所以,有像
if ($('.similar-products')) {
$('.similarproducts').append(iframe_html);
}
与
完全不同$('.similarproducts').append(iframe_html);
此外,如果要附加的<iframe>
对所有人都相同,请考虑对选择器进行分组。所以它会像
$('.similarproducts, .partial--product' /* Rest of the selectors */).append(iframe_html);
答案 1 :(得分:0)
您可以使用Switch case语句而不是if和else,因为如果if else服务器将检查每个if和else条件,但是在切换的情况下它将直接跳过相关的case块。所以它最大化了性能