首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jQuery this.data-x不工作

jQuery this.data-x不工作
EN

Stack Overflow用户
提问于 2012-06-07 13:06:28
回答 4查看 1.2K关注 0票数 1

我有一个包含元素周期表的表格,这个jQuery,当你点击一个元素的名字,告诉你它的全名是什么。

然而,当我点击一个按钮时,什么也没有发生...我尝试过不同的语法等等,但仍然一无所获。

这是我的表格超文本标记语言的样子(class="s-4“表示字体大小:4;-对这个问题没有任何意义):

代码语言:javascript
复制
<td class="s-4"><a class="e" href="#" data-e="B">B</a></td>
<td class="s-4"><a class="e" href="#" data-e="C">C</a></td>
<td class="s-4"><a class="e" href="#" data-e="N">N</a></td>
<td class="s-4"><a class="e" href="#" data-e="O">O</a></td>
<td class="s-4"><a class="e" href="#" data-e="F">F</a></td>
<td class="s-4"><a class="e" href="#" data-e="Ne">Ne</a></td>

下面是我的jQuery/JavaScript:

代码语言:javascript
复制
   <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js" type="text/javascript"></script>
    <script type="text/javascript">
    $(document).ready(function() {
    $(".e").click(function() {
    var e = this.data-e;
      if(e == 'H') { $("#a").html('H is Hydrogen'); }
      if(e == 'He') { $("#a").html('He is Helium'); }
      if(e == 'Li') { $("#a").html('Li is Lithium'); }
      if(e == 'Be') { $("#a").html('Be is Beryllium'); }
      if(e == 'B') { $("#a").html('B is Boron'); }
      if(e == 'C') { $("#a").html('C is Carbon'); }
      if(e == 'N') { $("#a").html('N is Nitrogen'); }
etc etc... and then

    });
    });
    </script>

#a指的是我页面顶部的,而.e指的是链接(单击这些链接可以找到元素的名称)

有谁有什么想法吗?

谢谢

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-06-07 13:07:21

代码语言:javascript
复制
var e = this.data-e

应该是

代码语言:javascript
复制
var e = $(this).data('e');

代码语言:javascript
复制
var e = $(this).attr('data-e');

阅读有关的信息

票数 1
EN

Stack Overflow用户

发布于 2012-06-07 13:08:53

您要访问的属性data-e在您的代码中具有错误的语法。

错误的语法

代码语言:javascript
复制
var e = this.data-e;

正确的语法

代码语言:javascript
复制
var e =  $(this).attr(data-e);

您的代码将是

代码语言:javascript
复制
$(document).ready(function() {
$(".e").click(function() {
var e = $(this).attr(data-e);
    if(e == 'H') { $("#a").html('H is Hydrogen'); }
  if(e == 'He') { $("#a").html('He is Helium'); }
  if(e == 'Li') { $("#a").html('Li is Lithium'); }
  if(e == 'Be') { $("#a").html('Be is Beryllium'); }
  if(e == 'B') { $("#a").html('B is Boron'); }
  if(e == 'C') { $("#a").html('C is Carbon'); }
  if(e == 'N') { $("#a").html('N is Nitrogen'); }
etc etc... and then

});
});
票数 1
EN

Stack Overflow用户

发布于 2012-06-07 13:08:28

代码语言:javascript
复制
var e = this.data-e

应该是

代码语言:javascript
复制
var e = $(this).attr(data-e);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10925965

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档