【问题标题】:JQuery pass HTML ID as parameterJQuery 将 HTML ID 作为参数传递
【发布时间】:2013-09-14 17:11:57
【问题描述】:

这是我的代码:

HTML

<img src"../MyPic_1" id="MyImg_1" onclick = "MyJQfunction($(this))">
<img src"../MyPic_2" id="MyImg_2" onclick = "MyJQfunction($(this))">
<img src"../MyPic_3" id="MyImg_3" onclick = "MyJQfunction($(this))">

JQUERY

<script>
function MyJQfunction(MyField)
{
  MyField.hide();
}
</script>

如您所见,我正在尝试将 HTML 元素发送到我的 JQ 函数,以便它知道要隐藏什么。

我做错了什么?

注意:这只是我真正需要做的一个简单示例,我只是想避免包含您不关心的代码。谢谢!

【问题讨论】:

  • 一旦你修复了语法错误,你所拥有的就是有效的。 jsfiddle.net/3ynDC
  • 这个问题似乎是题外话,因为这个问题是一个错字。
  • 错字不是问题,是我写问题时的错误。正如我在笔记中所说:这只是一个例子。
  • 对,但这是您提供的代码的唯一问题。您的实际错误必须在您认为不重要的代码中。
  • 天啊!!我只是将我的示例代码复制粘贴到一个 html 文件中,它确实有效(当然要修复错字)。你是对的,凯文,我的错误一定是在别的地方。谢谢!

标签: javascript jquery parameter-passing element


【解决方案1】:

这就是我会做的:

<img src="../MyPic_1" id="MyImg_1" class="image_to_hide"/>
<img src="../MyPic_2" id="MyImg_2" class="image_to_hide"/>
<img src="../MyPic_3" id="MyImg_3" class="image_to_hide"/>

...

<script>
    $(".image_to_hide").click(function(){
        $(this).hide();
    });
</script>

【讨论】:

  • 这非常有效,因为它非常简单,但是我的代码有点复杂,不适合。但是thanx,我相信你的答案会被其他人使用。
【解决方案2】:

您正在使用 jquery,因此请附加一个事件处理程序,而不是使用 onclick

<img src="../MyPic_1" id="MyImg_1" class="myIMage">
<img src="../MyPic_2" id="MyImg_2" class="myIMage">
<img src="../MyPic_3" id="MyImg_3" class="myIMage">

$(function(){
      $('.myIMage').on('click', MyJQFunction);
 }

function MyJQFunction()
{
   $(this).hide(); //here this represents the element clicked.
}

或经典方式;调用时使用Function.call 设置函数的上下文。

<img src"../MyPic_1" id="MyImg_1" onclick = "MyJQfunction.call(this)">

function MyJQFunction()
{
   $(this).hide(); //and this here is now the clicked element.
}

此外,在您的代码中,您的图像标签似乎不正确,MyJQfunctionMyJQFunction 有大小写(注意 f 的大小写)问题。检查您的控制台是否有错误。否则你的代码应该可以工作。

【讨论】:

  • 太好了,两种方法我都试过了,效果很好!!对其他人的说明:在第二个选项中,如果您有更多参数: HTML JQUERY function MyJQFunction(2ndPar, 3rdPar) //不需要为'this'声明参数
【解决方案3】:

你应该像这样将它包装在 jquery 函数上

function MyJQFunction(MyField)
{
  $(MyField).hide();
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-15
    • 1970-01-01
    • 2012-09-12
    • 2013-01-27
    • 2012-08-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多