0

定義されたオブジェクトの属性を変更するボタンバーを作成しようとしていますが、機能させることができません。以下のコードスニペットを参照してください(CSSは含まれていません):

ボタンバーコード

<ul id="filtering-nav">
<li class="work button active" value="../servlet/Web">Work</li>
<li class="like button"  value="../servlet/Home">home</li></ul>

スクリプトコード

<script> var buttons = $("#filtering-nav .button"); buttons.click(function(){
buttons.removeClass("active");
$(this).addClass("active");
$( "#alpha100" ).attr("data", $("#filtering-nav .button.selected").val() );});</script>

ターゲットオブジェクトコード

<object id='alpha100' type="text/html" data=""  width="100%" height="100%"></object>

私がここで間違っていることを誰かが知っていますか?

ドロップダウンボックスで動作するのと同じようなものを取得できます。

4

2 に答える 2

0

.button.activeの代わりに欲しいようです.button.selected

しかし、あなたはあなたのコードをより単純にすることができます:

var buttons = $("#filtering-nav .button");
buttons.click(function(){
   buttons.removeClass("active");
   $(this).addClass("active");
   $("#alpha100" ).attr("data", $(this).attr('value'));
});

今日、カスタム属性には。という名前を付ける必要があることに注意してくださいdata-somethingdatavalueは良い属性名ではありません。標準のカスタムデータ属性を使用して、特定のデータ関数を使用します。

   $("#alpha100" ).data("something", $(this).data('otherthing'));
于 2013-03-26T14:53:19.827 に答える
0

タグを使おうとvalueすると、舞台裏で何が起こっているのかわかりません。liそれは問題の一部かもしれないので、私はあなたにこのアプローチを提案します(data属性を使用して)

HTML

<ul id="filtering-nav">
   <li class="work button active" data-value="../servlet/Web">Work</li>
   <li class="like button"  data-value="../servlet/Home">home</li>
</ul>

JS

<script> 
    var buttons = $("#filtering-nav .button"); buttons.click(function(){
    buttons.removeClass("active");
    $(this).addClass("active");
    $( "#alpha100" ).attr("data", $("#filtering-nav .button.selected").data('value') );});
</script>

他の何か(dystroyが指摘したように):あなたは.button.active代わりに意味しました.button.selectedか?

于 2013-03-26T14:56:50.220 に答える