如何提醒 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 选择器中单引号之间输入的内容?的主要内容,如果未能解决你的问题,请参考以下文章