【问题标题】:jquery data attribute get this element [closed]jquery数据属性获取此元素[关闭]
【发布时间】:2014-01-08 11:38:23
【问题描述】:

我有很多图片的视图

 <img src="@Path" data-img-prev="@UrlPreview" data-full-path="@UrlImage" onclick=Get()  />

它会像这样在 html 中呈现

<img img-prev="1.jpg" data-full-path="https://...1.jpg" src="https://...1.jpg">
<img img-prev="2.jpg" data-full-path="https://...2.jpg" src="https://...1.jpg"> 
<img img-prev="3.jpg" data-full-path="https://...3.jpg" src="https://...1.jpg"> 

我希望函数从每个元素中获取数据

function Get() {
this.getAttribute('img-path');
this.data('img-path');

}

它不工作请帮助:

错误 this.getAttribute 不是函数

【问题讨论】:

  • 怎么调用ttt()函数???是Get()函数吗?
  • 你必须改进你的问题。呈现的 HTML 是什么?显然,这不是您发布的内容...
  • 这么快就给我一点时间
  • 容易投反对票很难取消投票...

标签: jquery this jquery-data


【解决方案1】:

数据属性称为data-full-path,而不是img-path

var result = this.getAttribute('data-full-path');

或者因为你用 jQuery 标记了它(假设你在一个点击处理程序上下文中):

var result = $(this).data('full-path');

【讨论】:

  • 谢谢 $(this).data('full-path');它是有效的并且 this.getAttribute('data-full-path');错误 getAttribute 不是函数
  • @user246340 如果您不想使用 jQuery,则需要检查浏览器是否支持它:if('getAttribute' in this) 应该足够了。
  • 它适用于 ie 9-10 firefox 和 chrome 最新版本我只适用于这个浏览器
【解决方案2】:

使用.data('full-path') 而不是.data('img-path')

【讨论】:

    猜你喜欢
    • 2021-02-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多