我有一个脚本,我想让它更防弹。目前页面中断,因为找不到类框提示。为了使它防弹并且不抛出错误,我如何重写下面的代码来jquery获得与js相同的结果
function applyRecommendedSleeveLength(selectedVal) {
if (selectedVal !== undefined) {
var recommendedVal = map[selectedVal.trim()];
var selected = $('.attribute__swatch--selected:first div').text().trim();
if (recommendedVal === null || recommendedVal === undefined) {
selectedVal = $('.attribute__swatch--selected:first div').text().trim();
recommendedVal = map[selectedVal.trim()];
}
if (selected === null || selected === '' || selected === undefined) return;
var recommendedLis = document.querySelectorAll('[class*="attribute__swatch--length-' + recommendedVal + '"] div');
recommendedLis.forEach(function(recommendedLi, i) {
if (recommendedLi !== null && recommendedLi !== undefined) {
recommendedLi.classList.add('showBorder');
$('.box-tip').show();
var currentPosition = $('.showBorder').parent().position().left;
var sleeveRecom = document.getElementsByClassName('box-tip');
var info = sleeveRecom.length ? sleeveRecom[0] : false;
info.style.paddingLeft = currentPosition + -75 + 'px';
}
});
}}
如果你想检查div 是否存在,你可以使用这个(使用 JQuery(:
if ( $('.box-tip').length != 0 ){
//do something
}
或者 - 因为你已经编辑了你的帖子 - 没有 JQuery:
if ( document.getElementsByClassName('box-tip').length != 0 ){
//do something
}
只需使用 jQuery 即可完成所有这些操作。如果类不存在,jQuery方法不会导致错误
function applyRecommendedSleeveLength() {
$('.box-tip').show().first().css('paddingLeft', (currentPosition - 75) + 'px');
}