javascript - 如何在 Onclick 上获取选择器的变量

标签 javascript jquery html css

将选择器分配给变量时,我需要在 onclick 上获取该变量名 我创建了一个 Fiddle举个例子

 var $main_img1 = $("<div/>").addClass('add1').appendTo($('#main_container'));
 var $main_img2 = $("<div/>").addClass('add2').appendTo($('#main_container'));

 $main_img1.click(function()
 {
     get_id()
 });

 $main_img2.click(function()
 {
      get_id()
 });
 function get_id(event)
 {
      console.log($(this))
      alert('i need to get selector variable on click')
 }

当我点击相应的div时,输出应该是$main_img1$main_img2

最佳答案

这是一个解决方案,但不确定您将如何使用它

使用数组获取变量名。

JS

    var arr = new Array();
    arr[0] = '$main_img1';
    arr[1] = '$main_img2';

    var $main_img1 = $("<div/>").addClass('add1 add').appendTo($('#main_container'));
    var $main_img2 = $("<div/>").addClass('add2 add').appendTo($('#main_container'));

      $main_img1.click(function()
                 {
                    get_id($(this))
                 });

       $main_img2.click(function()
                 {
                    get_id($(this))
                 });
    function get_id(event)
    {
        alert(arr[$('.add').index(event)]);
    }

更新:不需要数组。

    function get_id(event)
    {
        ///var temp = '$main_img' + (parseInt($('.add').index(event)) + 1);
        var temp = '$main_img' + (parseInt($('#main_container > div').index(event)) + 1);
        alert(temp);
        console.log(eval(temp));
    }

Updated DEMO

关于javascript - 如何在 Onclick 上获取选择器的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25283312/

相关文章:

javascript - React - 更改数据会更改 renderToStaticMarkup() 的输出但不会重绘

javascript - Bootstrap 在计算机浏览器上工作,但在移动浏览器上不起作用

javascript - 将 PHP 数据传递给 Ajax 响应?

HTML:表格不会为我的帖子创建新行

html - 流畅的内联列表和行对齐

javascript - Jest 是否异步运行用 describe() 定义的测试套件?

javascript - 如何迭代两个对象并根据 JS 中的另一个更新一个值?

javascript - jquery.attr ("alt")= ='name'

javascript - 按类获取div的编号顺序

html - 忽略一些用于计算 HTML 表格列宽的单元格