jquery获取data-content()怎么获取,不是从定位id获取?

cg(v)函数要怎么获得这个this传过来的 data-content和 datatype谢谢指教

我直接选择 v.data-content 取不到值,

function cg(v){
    console.log(v.data-content);
}
<a href="javascript:;" onclick="return cg(this)" data-content="<?=$v['id']?>" datatype="1">删</a>
阅读 2.1k
3 个回答

原生js实现

function cg (element) {    
    const content = element.getAttribute('data-content')
    console.log("数据", content)
}

对于 data-* 的属性,会被记录到 Elementdataset 属性,在读取时不需要写 data- 前缀,如果是属性名字中还包含了 -,那就要使用小驼峰的方式获取,即 - 后面的第一个字母转为大写,并移除 -,在你这里可以使用:

function cg (element) {    
    const content = element.dataset.content
    console.log("数据", content)
}

dataset 属性是一个原生的属性。


对应的在 jQuery 中,你可以使用 data 方法去获取,看起来就像这样。

function cg (element) {    
    const content = $(element).data('content');
    console.log("数据", content)
}

jQuery 的 data 方法会尝试对存储的数据进行一些类型转换,比如上面是数字,获取到的就是一个数字,而非字符串,除此之外还有一些其他的,如:布尔值、数组、对象、null

$('[data-content]').eq(0).data('content');
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏