我试图从这个元素中派生出一些识别属性:
<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>
使用此javascript:
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') ) {
答案 0 :(得分:4)
如果target
是有效的DOM元素,那么您应该能够:
target.className.indexOf("rtsLevel") != -1
或者如果你使用的是jQuery而target是一个DOM元素,你可以这样做:
$(target).hasClass("rtsLevel")
如果target.className
未定义,则target不是DOM元素,这将是您的问题。