javascript - $(this).hasClass ('e.g' ) 不返回

标签 javascript jquery node.js

我正在编写一个通过 Node 执行并访问网站 html 的脚本, 其他一切都工作正常,但组织和填充数组的脚本的一小部分没有执行:

var j = 0;
var headArr = [];

$('tbody> tr > th').each(function( index ) {
     //^accesses elements from a loaded website^  
    var head = $(this).text().trim();
     //^gets data from inside each 'th' tag^
    headArr[j]= head;
    if(headArr[j]===''){
        headArr[j]=headArr[j-1]+'-';
    }
      //^fills an array with this data, and copies last data if this 'th' empty^
    if($(this).hasClass('rowspan')){
        console.log('if fired');
        for(u=1; u<this.rowspan; u++){
            j++;
            headArr[j]=headArr[j-1]+'-';
            console.log('loop fired');
        }
    }
    //^this block is the issue^
    j++;
});

即使我注释掉除了console.log之外的所有内容,第二个'if' block 也不会触发,我对jquery和.each函数比较陌生,但根据我的理解:$(this)应该是当前的'th'标签,在这种情况下.hasClass应该返回true, here's the html I'm scraping 。 绝对是“if”语句。

任何反馈或解决方法将不胜感激。

-阿兰

最佳答案

"rowspan" 是一个属性,而不是 HTML 链接图像中的 class。您可以将 .is() 与属性选择器一起使用来获取 bool 值

if ($(this).is("[rowspan]"))

关于javascript - $(this).hasClass ('e.g' ) 不返回,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46781717/

相关文章:

javascript - $error 在 Vuelidate 复选框中不会发生变化

javascript - 是否可以将变量的值从一个 javascript 导出到另一个?

node.js - Node 情况下的 Typescript IOC

node.js - gulp-sass错误: Unhandled stream error in pipe

javascript - 成功更新数据后再次进行ajax POST调用

python - Tchannel 服务器代码不工作。 (Python 和 Node.js)

javascript - 什么时候适用吊装?

javascript - 访问闭包范围内的私有(private)(本地)变量

javascript - 在 JavaScript/JQuery $.each 代码中只返回 true 或 false

javascript - 表格过滤器不适用于退格键