如果元素有类

9mi*_*day 0 javascript jquery

我试图通过测试元素是否具有sv或en类(瑞典语或英语)来翻译字段错误

我尝试访问该类,但不会影响javascript结果。


input.oninvalid = function(event) {
  if ($("wgcurrent").hasClass("en")) { 
    event.target.setCustomValidity("Letters only please");  
  } else if ($("wgcurrent").hasClass("sv")) {
    event.target.setCustomValidity("Vänligen ange endast bokstäver");
  }  

}
Run Code Online (Sandbox Code Playgroud)
<div class="wgcurrent wg-li wg-flags  flag-1 en" data-l="en" tabindex="0" aria-expanded="false" role="combobox" aria-label="Language selection: English"><a tabindex="-1" href="javascript:%20void(0);">English</a></div>
Run Code Online (Sandbox Code Playgroud)

我想确保输入函数为错误消息设置正确的值。我需要更改什么?

iva*_*van 6

如jquery文档中所述:https : //api.jquery.com/class-selector/

具有类的对象的选择器不是

$("wgcurrent")
Run Code Online (Sandbox Code Playgroud)

就像这样:

$(".wgcurrent")
Run Code Online (Sandbox Code Playgroud)

点使得它可以选择带有wgcurrent类的任何对象。

我相信这是您遇到问题的原因,因为hasClass应该可以在这种情况下工作。

但是请注意,这将选择wgcurrent类的所有对象。