如何判断获取的DOM元素是否存在子节点并执行对应逻辑
实现方案
你获取到的map是jQuery包装的对象,可以直接通过jQuery提供的children()方法判断子元素数量,再走对应分支逻辑,示例代码如下:
const map = $window.find('#map-office-' + $sender.data('office_id')); if (map.children().length === 0) { // 无任何子元素,注入提示信息,可自定义提示文案和样式 map.html('<p>无法加载地图,请确保浏览器已启用JavaScript功能</p>'); } else { // 存在子元素,调用地图渲染方法,按需传入map参数即可 showMap(map); }
补充说明
- 如果需要把文本、注释等所有类型的子节点都纳入判断标准,可以改用原生DOM的
childNodes属性判断:if (map[0].childNodes.length === 0) { // 注入提示的逻辑 } - 代码中用的jQuery
html()方法等价于操作原生DOM的innerHTML属性,如果习惯写原生写法可以替换为map[0].innerHTML = '提示内容'
内容的提问来源于stack exchange,提问作者user16645285
相关产品推荐
相关产品推荐

