我使用jQuery事件委派来获取此标记上的点击事件(包含多个checkboxContainer
,这就是为什么我要将.checkboxContainer
上的事件委托给父el
点击可以在.checkboxContainer
或其任何children
)进行:
<div class="checkboxContainer" id="equi-select">
<span role="checkbox" class="checkboxSpan ">
<div class="blankDiv" style="display: block;">
<img class="blankImg" src="http://maps.gstatic.com/mapfiles/mv/imgs8.png">
</div>
</span>
<label class="checkboxLabel">Equipment</label>
</div>
这是我的jQuery代码:
el.on("click",".checkboxContainer",function(e){
var $parent;
if($(e.target).hasClass(".checkboxContainer"))
$parent=$(e.target);
else
$parent=$(e.target).parents(".checkboxContainer").eq(0);
var res=$parent.attr("id");
var objtype=res.substring(0,4);//error here
var $blankDiv=$parent.find(".blankDiv");
console.log($blankDiv.css("display"));
if($blankDiv.css("display")==="none")
{
console.log(objtype);
$blankDiv.css("display","block");
//make ajax requests to get data from server
}
else
$blankDiv.css("display","block");
});
这是错误:
Uncaught TypeError: Cannot read property 'substring' of undefined
如何改善活动的定位?
答案 0 :(得分:0)
将toString()方法添加到becomming行
var res=$parent.attr("id").toString();