以下两段jq代码要是用js来写,怎么写的呀?

枫叶
  • 4
新手上路,请多包涵

最近不是都在去掉jq吗。我这两段jq代码想转原生js。求大佬。

获取图片alt信息

// 获取图片alt信息
$(".entry-content p img,.lonesome-img a img").each(function(){ 
    $("<figcaption class='image_title'></figcaption>").insertAfter(this); 
    var thisImage = $(this).parents('.entry-content p,.lonesome-img a').find('img'); 
    var title = thisImage.attr('alt'); 
    $(this).siblings('.image_title').html(title); 
});

给不是图片链接的a标签里加rel

// 给不是图片链接的a标签里加rel
const regx = /\.(jpe?g|png)(?=\?|$)/i; // 正则表达式
$('.entry-content').find('a').each(function(){
    const href = $(this).attr('href');
    const isImg = regx.test(href); // 正则表达式与目标字符串是否匹配
    if (!isImg) {
        $(this).attr('rel', 'external');
    }
});
回复
阅读 573
1 个回答
✓ 已被采纳

document.querySelectorAll(".entry-content p img,.lonesome-img a img") 就是所有img

Array.form(document.querySelector(".entry-content p img,.lonesome-img a img")) 就是转换成数组,然后就可以快乐的 forEach 了

你之前代码写的感觉也不是很对呀。

去掉 jquery 也不是这么个去法呀,明明有 jquery 能省事

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
你知道吗?

宣传栏