如何将HTML属性的值传递给jQuery函数?

时间:2010-11-19 21:05:30

标签: jquery

我想将HTML标记的值传递给jQuery警告框,但我没有运气。我基本上想要将“1”或“2”传递给警告框。我一直在警报框中“未定义”。

<button class="up" value="1">
<button class="down" value="2">

$(document).ready(function(){
    $(".up,.down").click(function(){
        alert(this.value);
   });
)};

我正在为ajax函数执行此操作,但我需要确保我可以先传递值,因此警报框用于调试。

3 个答案:

答案 0 :(得分:4)

alert($(this).attr("value"));

答案 1 :(得分:2)

this.value工作正常(IE8,FF3和Chrome中的tested it)。不确定你怎么可能看到“未定义”。在关闭document.ready处理程序时,确实存在语法错误。它应该是});而不是)};

编辑:我相信关于IE7错误的Nick Craver,我认为除了在标记中使用自定义属性外,您还可以执行以下操作...

$(".up,.down").click(function(){
  var $this = $(this);
  var oldText = $this.text();
  $this.text('');
  var val = this.value;
  $this.text(oldText);
  alert(val);
});

Test it here如果您有IE7,请

答案 2 :(得分:1)

这是因为按钮的值是 IE7 中的<button></button>标签之间的,为了安全起见,您可以使用例如{ {1}}属性,如下所示:

data-

使用匹配的脚本:

<button class="up" data-value="1">Something</button>

You can test it here