javascript内でのエスケープって決まりがあるのでしょうか?
下記のようなサンプルで動かしてみたところ
innerHTMLでは下記のdata1が正しく,
confirmやaltでは下記のdata2が正しく動くようです.
できれば両方で有効なエスケープ方法が知りたいのですが
何かないでしょうか?

----
<html>
<script><!--
function button(id) {
    var d1 = document.getElementById("id_lbl");
    var d2 = document.getElementById("id_img");
    var data1 = "&lt;";
    var data2 = "\x3C";
    if (id == 1) {
        confirm(data1);
        d1.innerHTML = data1;
        d2.alt = data1;
    } else {
        confirm(data2);
        d1.innerHTML = data2;
        d2.alt = data2;
    }
}
--></script>
<body>
    <table>
        <tr>
            <td><input type="button" value="AAA" onClick="button(1)"></td>
            <td><input type="button" value="BBB" onClick="button(2)"></td>
        </tr>
        <tr>
            <td id="id_lbl">aaa</td>
            <td><img id="id_img" src="arrow.gif" alt="aaa"></td>
        </tr>
    </table>
</body>
</html>