我正在尝试评估一个类,看它是否在我的点击处理程序中包含一些文本,但我无法让我的代码正常运行。我错过了什么?
if
语句正在查看被点击对象的类是否包含单词“headline”。
$('[class^=edit_]').click(function(){
var element = $(this).attr('class');
var field = element.split(/_(.+)/)[1];
if ($(this).attr('[class*=headline]'))
{
alert("headline");
}
else
{
alert("not headline");
};
});
是否可以使用评估if
的内容构造我的var field = element.split(/_(.+)/)[1];
语句,因为这确实是信息所在的位置。
类似的东西:
if (element *= "headline"){do this};
我不确定我是否理解JavaScript中存在的所有“评估者”,以了解我是否可以评估这样的字符串。
答案 0 :(得分:4)
重新阅读你的问题后,有一个更简单的方法,只需使用.className
检查.indexOf()
所需的字符串,如下所示:
if (this.className.indexOf('headline') != -1)
上一个回答:
与您所拥有的版本最接近的版本,检查与选择器匹配的元素是否为.is()
,如下所示:
if ($(this).is('[class*=headline]'))
但是这里有另一种更合适的方法(如果你要检查完整的课程,而不是其中一部分),你可以像这样使用.hasClass()
:
if ($(this).hasClass('headline'))