我使用jQuery事件委派来获取该标记上的点击事件(el包含多个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
如何提高活动的针对性?
将toString()方法添加到要填充的行
var res=$parent.attr("id").toString();