将脚本从 js 重写为 jquery



我有一个脚本,我想让它更防弹。目前页面中断,因为找不到类框提示。为了使它防弹并且不抛出错误,我如何重写下面的代码来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');       
}

最新更新