当我获得自定义(Reporting Services)复选框的onclick
属性时,它会给出正确的结果。但是,当我尝试在该结果上使用indexOf
时,它说“对象不支持此属性或方法”,即这很好,给了我一个长字符串
$('input[id*=CustomCheckBox]').click(function()
{
alert( $(this).attr("onclick") );
});
但这会产生错误(对象不支持此属性或方法):
$('input[id*=CustomCheckBox]').click(function()
{
if ($(this).attr("onclick").indexOf("SomeString") > -1 )
{
//do some processing here
}
}
我需要修改哪些内容才能indexOf
正常运行?
答案 0 :(得分:2)
我同意上面的Nick Carver,但是如果你仍然需要这样做,你只需要在尝试使用indexOf
之前将属性转换为字符串。我在Safari中快速测试了它,它似乎按预期工作。
if (String($(this).attr("onclick")).indexOf("SomeString") > -1 )
{
//do some processing here
}
答案 1 :(得分:2)
你可以使用onclick
事件本身,而不是效率最高的,但如果这是你唯一的选择......你会这样做:
$('input[id*=CustomCheckBox]').click(function() {
if (this.onclick && this.onclick.toString().indexOf("SomeString") > -1 ) {
alert('found!')
} else {
alert('not found :(');
}
});