Javascript Onclick问题

时间:2012-02-06 13:55:01

标签: javascript function onclick

我无法让这个工作。将JavaScript直接删除到 onclick 事件上可以正常工作,但不会这样。

的JavaScript

function checkid(objDivID) {
    if(this.id == 'id1') {
        alert('ID is Checked') 
    };
}

HTML

<tr id='id". $row['id'] ."' class='rrtr' onclick=\"checkid(this.id);\">
    <td class='name'>". $row['name'] ."</td>
    <td class='data'>". $row['TotalResp'] ."</td>
    <td class='data'>". $row['StaffCount'] ."</td>
    <td class='data'><b>". number_format($row['Perc'],0) ."</b></td>
</tr>

谢谢,H。

3 个答案:

答案 0 :(得分:3)

您正在传递函数this.id,但随后在函数中尝试再次引用它。它不会起作用。请改用参数名称。

function checkid(objDivID){
    if(objDivID == 'id1'){alert('ID is Checked')};
}

HTML中引用双引号的反斜杠也可能不存在,对吧?您将HTML打印为我认为的字符串。

答案 1 :(得分:1)

您可以通过多种方式解决它,一种是调用指定this的函数:

<tr id='id". $row['id'] ."' class='rrtr' onclick=\"checkid.call(this, this.id);\">

或者只使用传递的id:

function checkid(objDivID){
    if(objDivID == 'id1'){alert('ID is Checked')};
}

答案 2 :(得分:0)

那是因为您在错误的范围内使用this。改变行

if(this.id == 'id1'){alert('ID is Checked')};

if(objDivID == 'id1'){alert('ID is Checked')};