如何通过jQuery获取data-kgvid_video_vars中的attachment_id值?
如何提取data-kgvid_video_vars中的attachment_id值
嘿,我来帮你搞定这个问题!其实jQuery的.data()方法已经帮我们做了不少工作,针对这种JSON格式的data属性,它会自动解析成JavaScript对象,你只需要用正确的键名去访问就行。
直接可用的代码示例
// 获取目标元素解析后的JSON数据对象 const videoData = jQuery(this).find('.kgvid_videodiv').data('kgvidVideoVars'); // 直接提取attachment_id const attachmentId = videoData.attachment_id; // 验证结果 alert(attachmentId);
关键细节说明
- jQuery会自动把
data-开头的属性名转换成驼峰式命名:比如data-kgvid_video_vars对应的键名是kgvidVideoVars(去掉短横线,后续单词首字母大写),这也是你之前直接用data('kgvid_video_vars')可能不生效的核心原因。 - 因为你的
data-kgvid_video_vars属性值是合法的JSON字符串,jQuery会自动帮你解析成对象,不需要额外调用JSON.parse()方法。
更健壮的写法(避免报错)
如果担心元素不存在或者JSON解析失败,可以加个判断逻辑,防止代码报错中断:
const videoDiv = jQuery(this).find('.kgvid_videodiv'); const videoData = videoDiv.data('kgvidVideoVars'); if (videoData && typeof videoData.attachment_id !== 'undefined') { const attachmentId = videoData.attachment_id; // 在这里处理你的业务逻辑 console.log('获取到的attachment_id:', attachmentId); } else { // 处理异常情况 console.warn('无法获取有效的attachment_id'); }
内容的提问来源于stack exchange,提问作者user1681836
相关产品推荐
相关产品推荐

