ごめん!きょうも、さえてない。。。
1のじょうけんを、みたしていませんでした。
ちょっとclassListをかきなおして
tokenListもどきにしてみました。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<title></title>
<style type="text/css">
.chkOn { background-color: #ff0; }
.chkOff { background-color: #fff; }
</style>
<body>
<table>
<tr class="chkOff">
<td>1</td>
<td>東京</td>
<td><input type="checkbox" name="myvalue" value="1"></td>
</tr>
<tr class="chkOff">
<td>2</td>
<td>神奈川</td>
<td><input type="checkbox" name="myvalue" value="2"></td>
</tr>
<tr class="chkOff">
<td>3</td>
<td>千葉</td>
<td><input type="checkbox" name="myvalue" value="3"></td>
</tr>
</table>
<div id="p" class="ab ef ij">euwuiacbhuibac</div>
<script type="text/javascript">
//@cc_on
TokenList = (function ( cut, has, join ) {
return function ( type ) {
return {
'contains':
function ( e, name ) {
if( !has( e[ type ], name ) ) {
var keys = cut( name );
var cnt, key;
for( cnt = 0; key = keys[ cnt++ ]; )
if( has( e[ type ], key ) ) return false;
}
return true;
},
'add':
function ( e, name ) {
var keys = cut( name );
var buf = [ ], cnt, key;
for( cnt = 0; key = keys[ cnt++ ]; )
has( e[ type ], key ) && buf.push( key );
e[ type ] = ( e[ type ] ? '\u0020': '' ) + join( buf );
return buf;
},
'remove':
function ( e, name ) {
var keys = cut( name );
var buf = [ ], cnt, key;
for( cnt = 0; key = keys[ cnt++ ]; )
! has( e[ type ], key ) && buf.push( key );
e[ type ] = join( buf );
return buf;
},
'toggle':
function ( e, name ) {
var keys = cut( name );
var aBuf = [ ], dBuf = [ ];
var key, cnt;
for( cnt = 0; key = keys[ cnt++ ]; ) {
has( e[ type ], key ) ?
dBuf.push( key ): aBuf.push( key );
}
e[ type ] = join( dBuf );
if( aBuf.length )
this.remove( e, join( aBuf ) );
return e[ type ];
},
'length':
function ( e ) {
return cut( e[ type ] ).length;
},
'item':
function ( e, num ) {
var a = cut( e[ type ] ) || [];
return 'undefined' === typeof num ? a: a[ num ];
}
};
};
})(
function (s) { return ('' + s).split( /\u0020+/ ); },
function (s, n) { return -1 < ( '\u0020' + s +'\u0020' ).indexOf( '\u0020' + n + '\u0020' ); },
function (a) { return a.join( '\u0020' ); }
);
var eventHandler = (function ( CSS, get ) {
return function ( evt ) {
var e = evt./*@if(1) srcElement @else@*/ target /*@end@*/;
var p = get( e, 'nodeName', 'TR' );
var c;
if( p ) {
c = p.cells[2].firstChild;
do {
if( c.nodeName == 'INPUT' && c.type=='checkbox' ) {
e != c && (c.checked = !c.checked);
CSS.toggle( p, 'chkOn chkOff' );
c = null;
break;
}
c = c.nextSibiling;
} while ( c );
}
};
})(
TokenList( 'className' ),
function ( n, t, v ) {
return n ? (v == n[t]) ? n: arguments.callee( n.parentNode, t, v): null;
},
function ( n, t, v ) {
var node = n.childNode;
}
);
document./*@if( @_jscript )
attachEvent( 'on' + @else@*/
addEventListener( /*@end@*/ 'click', eventHandler, false );
</script>
つっこみだいかんげいです。
お礼
babu_babooさん、たびたびのご教示本当にありがとうございました m(_ _)m m(_ _)m m(_ _)m 本番環境でも元気に動きました。 同時に、Javascriptをこんなに自由自在に操れたら どんなにHTMLプログラミングが楽しいだろう、とも思いました。 ともかく、本件は何度も応用が利くもので大変有益なスクリプトを 組んでいただきましたので、永久保存版にさせていただきます! 本当にありがとうございました!! &今後ともよろしくお願い致します(^^;