Javascript 如何获取选择器';Onclick上的s变量
当一个选择器被分配给一个变量时,我需要在Javascript 如何获取选择器';Onclick上的s变量,javascript,jquery,html,css,Javascript,Jquery,Html,Css,当一个选择器被分配给一个变量时,我需要在onclick上获取该变量的名称,例如我创建了一个 var $main_img1 = $("<div/>").addClass('add1').appendTo($('#main_container')); var $main_img2 = $("<div/>").addClass('add2').appendTo($('#main_container')); $main_img1.click(function() {
onclick上获取该变量的名称,例如我创建了一个
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')
}
var$main_img1=$(“”)。addClass('add1')。appendTo($('main_container'));
var$main_img2=$(“”)。addClass('add2')。appendTo($('main_container'));
$main\u img1.单击(函数()
{
get_id()
});
$main\u img2.单击(函数()
{
get_id()
});
函数get_id(事件)
{
console.log($(this))
警报('单击时需要获取选择器变量')
}
当我单击相应的div时,输出应该是$main\u img1和$main\u img2,这里有一个解决方案,但不确定如何使用它
使用数组获取变量名
JS
我建议一种解决方法。。看看它是否对你有帮助。在相应的div中添加一个隐藏元素,并将变量名作为文本添加到其中。我稍微修改了get_id()方法,从divs隐藏元素中获取变量名
function get_id()
{
console.log($(this))
var selVar= $(this).parent().find('input:hidden:first').text();
alert('selector variable' + selVar);
}
这对你有用 您可以从元素的类中进行猜测,然后单击它并使用自反性
要知道单击的元素,只需使用event.target
,其中event
是在click
函数中传递的变量。看看这个例子
get\u id
方法现在看起来如下所示:
function get_id(event) {
console.log(event.target)
}
event.target
返回的值与声明它的变量返回的值相同($main\u img1
或$main\u img2
).将变量名作为属性或id添加到相应的div中,然后您可以通过选择div属性来获取变量名。任何特定原因您希望变量名与之相关:我的要求是在分配给任何选择器时仅获取变量名。。。这就是我hanging@PraJen对我的评论有什么想法吗?我也知道要用很多不同的方式来表达@karan。。但是我想要我的问题相关的答案。。。如果不使用任何额外的数组等,您可以像event.target.id这样简单地制作一些类似的东西吗。。因为我需要对许多变量使用这个函数。。而且还需要从中分割值…addClass('add1 add')如果您添加另一个类,我的样式将不会更新。。我将在dynamic中添加另一个类。基本上,您只需要在所有div
中添加一个关系。除了.add
之外,您还可以将一个类添加到它们的父div中,并使用父div获取索引。我没有得到我的输出:(检查这个小提琴。这很好。您需要向它添加一个隐藏元素和变量名。变量$main\u img1和$main\u img2也是。不?它只是完全返回div元素
function get_id()
{
console.log($(this))
var selVar= $(this).parent().find('input:hidden:first').text();
alert('selector variable' + selVar);
}
function get_id(event) {
console.log(event.target)
}