document.getElementById(“id名字”).value与$(属性名称).val()之间的区别

本文探讨了在JavaScript中直接使用document.getElementById获取元素时,若值为空可能导致的错误,以及jQuery如何更优雅地处理这种情况。document.getElementById返回的是DOM对象,而jQuery的选择器返回的是jQuery对象,后者提供了更友好的链式操作。了解如何在两者之间进行转换,对于优化前端代码和提升用户体验至关重要。

首先使用document.getElementById(“id名字”).value的值时如果为空,JS会报错,导致页面死掉不动了。控制台报错。

  如果使用$(属性名称).val(),则没有影响,会友好的执行其他下年的操作

 

区别

document.getElementById("id") 得到 的是 [object HTMLDivElement] 一个DOM对象;

$("#id")  得到 的是 [object Object] 一个Jquery 对象。

转换

$( document.getElementById("id") ) 就可以由一个DOM对象变为一个Jquery 对象了;

$("#id")[0] 或是 $("#id").get(0) 就可以由一个jquery 对象变为一个DOM对象了。

document.getElementById("projectDecisionPlace").addEventListener("change", function () { const provinceId = this.value; // 清空旧数据 if (!provinceId) { clearOrgFields(); return; } // 发起 AJAX 请求 fetch(`/api/department/by-province?provinceId=${provinceId}`) .then(response => response.json()) .then(data => { if (data && data.orgId && data.orgName) { document.getElementById("orgId").value = data.orgId; document.getElementById("orgName").value = data.orgName; document.getElementById("topSaleOrgId").value = data.topOrgId; document.getElementById("topSaleOrgName").value = data.topOrgName; } else { clearOrgFields(); } }) .catch(error => { console.error("请求失败:", error); clearOrgFields(); }); }); function clearOrgFields() { document.getElementById("orgId").value = ""; document.getElementById("orgName").value = ""; document.getElementById("topSaleOrgId").value = ""; document.getElementById("topSaleOrgName").value = ""; }根据后面代码的格式重新生成$("#selectStoreMember").click(function(){ $("#selectStoreMember").bindQueryBtn({ type:'selectStoreMember', title:'${message("查询用户")}', bindClick:false, url:'/crm/v2/storeMember/select_member.jhtml', callback:function(rows){ if(rows.length>0){ var row = rows[0]; $(".storeMemberName").val(row.name); $(".storeMemberId").val(row.id); $(".orgName").val(row.default_sale_org_name); $(".orgId").val(row.org_id); ajaxSubmit('', { method: 'post', url: '/crm/v2/storeMember/getOrgInfo.jhtml', data: {"id": row.id}, callback: function (data) { var obj = data.objx; $(".topSaleOrgName").val(obj.topSaleOrgName); $(".topSaleOrgId").val(obj.topSaleOrgId); } }); } } }); });
最新发布
09-17
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值