如何提醒 jQuery 选择器中单引号之间输入的内容?

Posted

技术标签:

【中文标题】如何提醒 jQuery 选择器中单引号之间输入的内容?【英文标题】:How do I alert whatever is entered between the single quotes in the jQuery selector? 【发布时间】:2014-04-06 17:14:30 【问题描述】:
<a href="#" class="myclass anotherclass" id="myid anotherid">Link</a>

$('.myclass').click(function () 
    var foo = '';
    alert(foo);
);

在这个例子中,我希望弹出一个警报,上面写着:“.myclass”。

编辑:我只想提醒“myclass”。不是“myclass anotherclass”

【问题讨论】:

alert($(this).class); ? 您是否使用警报进行调试? 应该可能使用console.debug、console.log、.warn、.info,对我的提醒似乎妨碍了...... ***.com/questions/2420970/… @JustinE 谢谢,从现在开始我将使用控制台命令。这是一个坏习惯。 【参考方案1】:

当单击事件发生时,用于绑定它的 jQuery 对象不再存在。元素和事件处理程序都没有关于所使用的 jQuery 对象的任何信息。如果你想要来自 jQuery 对象的信息,你必须保留它:

var c = $('.myclass');
c.click(function () 
  alert(c.selector);
);

【讨论】:

这就是我所害怕的。【参考方案2】:

对于委托处理程序,您可以获取事件对象的handleObj 属性的选择器属性:

$(document).on('click', '.myclass', function (e) 
    console.log(e.handleObj.selector); // => .myclass
);

但请注意,对于直接附加的处理程序,选择器将是null,您需要使用@Guffa 的workaround

$('.myclass').click(function(e) 
    console.log(e.handleObj.selector); // => null  
);

【讨论】:

【参考方案3】:

你可以试试

alert($(this).attr('class'));

【讨论】:

我忘记了我的属性...哎呀...我不经常在 jquery 中编码... 是的,但这会返回“myclass anotherclass”。我只想返回“myclass”。【参考方案4】:

我假设您想将选择器获取到您用于绑定单击事件的对象。对于通常情况下$object.selector 做你的伎俩,但即使在$(this).selector 也不起作用,因此作为一种解决方法,您可以发送如下参数;

var a = $('.myclass')
a.click(sel : a.selector, function () 
    alert(this.sel);
);
alert($('.myclass').selector)

【讨论】:

以上是关于如何提醒 jQuery 选择器中单引号之间输入的内容?的主要内容,如果未能解决你的问题,请参考以下文章

linux shell中单引号双引号和没有引号的区别

sql注入过程中单引号和多个关键字被过滤怎么办?

jQuery - 从选择器中排除具有特定值的输入

如何在 Jquery 选择器中使用变量? [复制]

输入名称选择器中的jquery变量[关闭]

python中单引号和双引号的区别