HtmlDivElement没有'indexOf'方法

HtmlDivElement has no method 'indexOf'

本文关键字:方法 indexOf 没有 HtmlDivElement      更新时间:2023-09-26

我试图从这个元素中获得一些识别属性:

<div class="rtsLevel rtsLevel1">
  <ul class="rtsUL">
    <li class="rtsLI rtsFirst rtsLast">
      <a class="rtsLink rtsSelected" href="#">
        <span class="rtsOut">
          <span class="rtsIn">
            <span class="rtsTxt">Dashboard</span>
          </span>
        </span>
      </a>
    </li>
  </ul>
</div>
function OnClientDragging(sender, eventArgs) {
    var target = eventArgs.get_htmlElement();
    console.log(target);
    var currentZone = TryGetZoneFromTarget(target);
}
function TryGetZoneFromTarget(target) {
//If the mouse moves too quickly target.id returns a red herring.
if (/'S/.test(target.id) == false) {
    if (target.indexOf("rtsLevel") != -1) {
        return null; //The tabstrip has an invisible div which doesn't have an ID, but isn't a redherring.
    }
    return undefined;
}

div没有指定id,但我似乎也无法与它"交谈"。我试过'.hasClass("rtsLevel")',被告知hasClass没有定义,所以我试着做一个字符串比较,但遇到了同样的问题。

我做错了什么?

编辑:解为if ( $(target).hasClass('rtsLevel') ) {

如果target是一个有效的DOM元素,那么您应该能够做:

target.className.indexOf("rtsLevel") != -1

或者如果你使用jQuery并且目标是一个DOM元素,你可以这样做:

$(target).hasClass("rtsLevel")

如果target.className是未定义的,那么目标不是一个DOM元素,这将是你的问题。