span
タイトルとして要素を持つ一連のチェックボックスがあります。span
チェックボックスがオンになったら、テキストをURLで折り返す必要があります。ただし、span
クラス名を選択するためのコードはありません。コードを機能させるために、チェックボックス ID を my と同じ名前にしていspan
ます。これは、array
自分自身を設定すると機能しますが、何らかの理由で、スクリプトで作成したときに配列を機能させることができません。これがコードです
HTML:
<div id="product_list" style="float:left; clear:right;">
<input type="checkbox" id="p01" name="system[]" value="p01" form="compare">
<span style="margin-left:20px;" class="p01">product one</span>
<br/>
<input type="checkbox" id="p02" name="system[]" value="p02" form="compare">
<span style="margin-left:20px;" class="p02">product two</span>
<br/>
<input type="checkbox" id="p04" name="system[]" value="p04" form="compare">
<span style="margin-left:20px;" class="p04">product three</span>
<br/>
<input type="checkbox" id="p05" name="system[]" value="p05" form="compare">
<span style="margin-left:20px;" class="p02">product four</span>
<br/>
</div>
Jクエリ:
var arr = [];
arr = $('#product_list span').not('.hidden').map(function(i,e) {
return $(e).attr('class');
}).get().join(', ');
alert(arr);
//arr = ["p01", "p02", "p03", "p04"]; works but not the above.
jQuery.each(arr , function(index, value){
$("#"+ value).click(function(){
// alert("clicked");
if ($(this).attr("checked") == "checked"){
$('.'+value).wrap('<a href="#" id="comparelink" target="_blank"></a>'); $('a').link('href', '#');
}
else {
$('.'+value).unwrap('a');
}
});
});