0
ユーザーがグリッドオプションを選択するたびに、セレクタの祖父母grid
に兄弟であるdiv(block_left
、media_right
)にプル - 左またはプル - 右にクラスを追加しようとしています。 。しかし、私は兄弟を選ぶことができません。ここでjQuery |祖父母の兄弟を指定する
はHTMLここ
<div data-name="grid">
<div class="label">
<label>Grid</label>
</div>
<div class="input">
<select>
<option value="left_right">Left/Right</option>
<option value="left_media">Content/Media</option>
<option value="media_right" selected="selected">Media/Content</option>
</select>
</div>
</div>
<div data-name=“block_left”></div>
<div data-name=“media”></div>
はjQueryの
function blockGrid() {
var gridSelect = $('[data-name=”grid”] select');
$(gridSelect).each(function(index) {
console.log(index + ": " + $(this).val());
// On Load
if($(this).val() == “media_right”) {
$(this).closest('[data-name="grid"]').find('[data-name="media"]').addClass('pull-xs-left');
$(this).closest('[data-name="grid"]').find('[data-name="block_left"]').addClass('pull-xs-right');
};
// On Change
$(this).change(function() {
console.log('Grid changed to ' + $(this).val());
if($(this).val() == “media_right”) {
$(this).closest('[data-name="grid"]').find('[data-name="media"]').addClass('pull-xs-left');
$(this).closest('[data-name="grid"]').find('[data-name="block_left"]').addClass('pull-xs-right');
} else {
$(this).closest('[data-name="grid"]').find('[data-name="media"]').removeClass('pull-xs-left');
$(this).closest('[data-name="grid"]').find('[data-name="block_left"]').removeClass('pull-xs-right');
};
});
});
};
はい、機能しました。間違った引用符がコピーアンドペーストによって追加されました。 私は '$(function {){fiftyBlockGrid();}の中に' blockGird'関数を持っています; 新しい '
'がajax経由で読み込まれるとこれはうまくいかないでしょうか? – Roc