どのチェックボックスが選択されているかに基づいて形状を非表示/表示するためにjQueryとRaphaelを使用していますが、.show();/.hide();というfirebugエラーが発生しています。チェックボックスIDに変数を割り当てて表示/非表示を試みると、関数ではありません。しかし、形状変数名を直接渡して表示/非表示にすると機能します。
最初のメソッドがエラーを返す理由、またはチュートリアルを教えてくれる理由について、本当に感謝しています。ありがとう!
jQuery:
var p = Raphael("test");
var square = p.rect(100, 100, 60, 60);
square.attr('fill', 'orange');
square.hide();
var circle = p.circle(250, 250, 60);
circle.attr('fill', 'yellow');
circle.show();
$("#shapePosition input[type=checkbox]").on('click', function () {
var $this = $(this);
var shapeId = $(this).attr('id');
if ($this.is(':checked')) {
alert(shapeId);
square.show(); //This works
shapeId.show(); //This does not work(Error type: is not a function)
} else {
shapeId.hide();
}
});
フィドル: