+ jQuery 質問用スレッド vol.7 + [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
0063Name_Not_Found
垢版 |
2016/08/15(月) 22:41:59.07ID:???
>>62
>event.preventDefault()を使うのが標準的なやり方

これだと何がいいのでしょうか?
イベントの伝播で安全ということでしょうか?
0064Name_Not_Found
垢版 |
2016/08/21(日) 12:29:01.33ID:???
>>63
バブリングを止めない、という理解でいいんじゃないか
0065Name_Not_Found
垢版 |
2016/10/23(日) 12:58:24.02ID:k3QeH1kd
jqueryプラグインの「mix it up」を使っていて、
さらにプラグイン「jquery.cookie.js」を使ってそれをクッキーに保存させたいと思っています。

`
sample.html
<div class="style1">
 <div>
  <div class="filter style2" data-filter=".a">青</div>
  <div class="filter style2" data-filter=".b">赤</div>
  <div class="filter style2" data-filter=".c">黄</div>
 </div>
</div>
<dl>
 <dd class="sort" data-sort="default">新着順</dd>
 <dd class="sort" data-sort="myorder:desc">価格の高い順</dd>
 <dd class="sort" data-sort="myorder:asc">価格の低い順</dd>
 <dd class="sort" data-sort="random">ランダム</dd>
</dl>
<div class="style3">
 <div class="mix a">青</div>
 <div class="mix b">赤</div>
 <div class="mix c">黄</div>
</div>
`
0066Name_Not_Found
垢版 |
2016/10/23(日) 12:58:58.10ID:k3QeH1kd
`
sample.js
$('.style3').mixItUp({
controls: {
toggleFilterButtons: true,
toggleLogic: 'and',
},
animation: {
duration: 0,
},
});


$('.style2').on('click', function(){
$(this).toggleClass('style2b');
});
`
.style2のタグをクリックすると.style3の記事が絞り込み検索される仕組みです。
.style2をクリックすると同時に.style2bが付与され色が反転し、どのタグが選択されているか目視できるようにしています。
.mixにはdisplay:none;がかかっています。
このクッキーを保存して、ページが更新された場合に絞り込み検索および付与された.style2bが残っている状態にしたいと考えております。
独学で作成していて壁にぶつかっております。どうかご教授お願い申し上げます。
0067Name_Not_Found
垢版 |
2016/10/23(日) 23:32:21.63ID:???
クッキーに、ページの状態を保存したいの?

絞り込み検索のキーワード・カテゴリ、
style2bが付与されたことを、保存すれば?
0068Name_Not_Found
垢版 |
2016/10/24(月) 09:18:37.53ID:MXxfOYJU
>>67
そうです。
具体的なコードの書き方を教えていただきたいです。
0069Name_Not_Found
垢版 |
2016/10/25(火) 01:09:11.78ID:???
クッキーの仕様・容量を、調べれば?

データ構造は、[キー : 値] の辞書かな?
0070Name_Not_Found
垢版 |
2016/10/25(火) 12:00:22.97ID:AcPzGlnV
>>69
いろいろと調べてもわからなくてここにたどり着きました。
0073Name_Not_Found
垢版 |
2016/10/26(水) 02:26:05.03ID:???
クッキーはjQueryで扱うべきものじゃない。
なぜならクッキーはDOMとは無関係だから。

それはjQueryが流行って質の悪いjQueryプラグインが大量に
生産されたときの負の遺産。いまどき使うべきじゃない。

「javascript cookie library」でぐぐったらコレが出てきた。
https://github.com/js-cookie/js-cookie

starも多いしこれでいいんじゃね?
0074Name_Not_Found
垢版 |
2016/10/26(水) 02:28:09.49ID:???
クッキーを扱うjQueryプラグインはjQueryプラグインではなくて
jQueryの名前空間に寄生しているだけ。
0075Name_Not_Found
垢版 |
2016/10/27(木) 01:20:47.53ID:???
そもそも、今でもクッキーを使うのかな?

今は、WebStorage じゃないの?
0076Name_Not_Found
垢版 |
2016/10/27(木) 12:41:11.64ID:???
>>75
使うに決まってんだろ脳みそ沸いてんのかクソボケ野郎が
0077Name_Not_Found
垢版 |
2016/10/28(金) 14:26:24.09ID:???
<div>
 <div>1</div>
 <div>2</div>
 <div>3</div>
 <div>4</div>
 <div>5</div>
</div>
例えばdivのclickイベントで、3がクリックされたときに
その次の4のdivを取得する方法を教えてください。
0079Name_Not_Found
垢版 |
2016/10/28(金) 14:54:33.50ID:???
>>78
すみません、JQだとどうなりますか?
0081Name_Not_Found
垢版 |
2016/10/28(金) 19:21:48.82ID:???
>>79
jQueryでも同じコードを書けるんだが
jQuery#nextとnextElementSiblingは同じ
thisとevent.targetは等価ではない
eventは両方とも同じ
0083Name_Not_Found
垢版 |
2016/10/28(金) 21:46:53.73ID:???
>>81
> jQuery#nextとnextElementSiblingは同じ
同じではないよ。

jQueryの基本的な考え方として0個以上の要素郡に対して処理を実行するという点がある。
これの何が便利かというと動的なページであれば何かの要素が存在しない場合がある。
例えばデータが1ページに収まれば「次へ」ボタンを表示しないとか。

document.getElementById('next')なんて書いているとボタンがなかった
ときにnullになって、それを防ぐためにif文が必要になったりするが、
jQueryの場合は、何も書かずとも#nextが見つからなくても問題ない動きをする。

>>77の場合は5がクリックされた時が問題。nextElementSiblingを使うと要素が
見つからない時nullを返すので、そうならないように条件分岐が必要になる。
大したことじゃないと思うかもしれないが、ifの条件を満たす時と満たさない時で
テストが必要になる。言い換えるとコードが複雑になってる。

> eventは両方とも同じ
違う。jQueryのeventは標準仕様に準拠しつつブラウザ間の互換性を高くしている。
jQueryのeventは改良されたevent
0084Name_Not_Found
垢版 |
2016/10/28(金) 22:35:39.02ID:???
function func1() {
 return { 'year': 2016, 'month': 10 };
}
こういう関数を使って値を取り出す場合には、一旦objと言う変数に入れて、

var obj = func1();
var year = obj['year'];
var month = obj['month'];

とするのが普通だと思うのですが、もしobjを使わずに

var year = func1()['year'];
var month = func1()['month'];

とするとfunc1()が二回実行されて無駄ですよね?
質問は、一時変数objを使わずに、かつfunc1()も一回だけ実行して
値をyearとmonthに取り出す方法はありますか?
目的は、単なる興味です。
0085Name_Not_Found
垢版 |
2016/10/28(金) 23:07:50.54ID:???
jQueryの話と関係ないな
あらしかな。
0086Name_Not_Found
垢版 |
2016/10/29(土) 05:09:40.68ID:???
YouTubeのサイトのように、画面に表示されている所の、画像だけを表示して、
下へスクロールすると、新たに表示された所の画像を、その時に読み込んで表示するのは、
どのように、やっているのでしょうか?

つまり、非同期・遅延読み込み
0087Name_Not_Found
垢版 |
2016/10/29(土) 08:57:58.22ID:???
>>84
コードの書き方がいろいろおかしい
同じオブジェクトを参照するなら function func1() {
 return { 'year': 2016, 'month': 10 };
}
が不要
year, month も一時変数なので不要

var obj = { 'year': 2016, 'month': 10 };

これだけで良い
これ以上はJSスレで
0088Name_Not_Found
垢版 |
2016/11/03(木) 08:04:31.06ID:FerPc7S6
質問お願いします。

スライドショーの上に常に違う画像を重ねて表示させたく
https://allabout.co.jp/gm/gc/417216/2/
を参考にしてスライドショーはできたのですが
上に画像を重ねる方法がわかりませんでした。
知恵袋で似てる質問はあったのでチャレンジしてみたのですが
上記のサイトとは違うコードの組み方のようで結局出来ずに終わりました。

ほとんど調べながらコピペしてる状態の初心者なので、初歩的な質問かもしれませんが
もしご存じの方がいらっしゃいましたら教えていただきたいです。
また、解説してるサイト等ありましたら貼っていただけると助かります。

よろしくお願いします。
0090Name_Not_Found
垢版 |
2016/11/03(木) 08:31:12.68ID:???
>>89
ありがとうございます。
そちらで質問させていただきます。
0091Name_Not_Found
垢版 |
2016/11/19(土) 13:37:08.41ID:???
バージョン1系から3系に入れ替えたら、IE11でローカルファイルを開くとAjaxが動かなくなったけど、
どうすれば良いの?サーバに入れると正常に動作するのに。
0093Name_Not_Found
垢版 |
2016/11/26(土) 23:19:51.36ID:???
画像の遅延ロードってlazyloadでしか無理なの?
0094Name_Not_Found
垢版 |
2016/11/28(月) 13:30:55.11ID:???
>>93
同等の機能を自分で実装すればいけるよ
昔は自分でやってたもんだ
0095Name_Not_Found
垢版 |
2016/12/18(日) 12:27:31.41ID:???
現行スレはこちら。

■jQueryスレ
jQuery 質問スレッド vol.7
http://echo.2ch.net/test/read.cgi/hp/1478055094/

■ライブラリスレ
JavaScript ライブラリ総合質問所 vol.5
http://echo.2ch.net/test/read.cgi/hp/1465399470/

■JavaScriptスレ
JavaScript の質問用スレッド vol.131
http://echo.2ch.net/test/read.cgi/hp/1478053599/
JavaScript の質問用スレッド vol.122
http://echo.2ch.net/test/read.cgi/tech/1472426483/
JavaScript(ECMAScript)質問用スレッド vol.122
http://echo.2ch.net/test/read.cgi/tech/1472401404/
0096Name_Not_Found
垢版 |
2017/06/04(日) 20:49:35.14ID:???
jQuery初心者ですが、サイト内で複数のmp3を順に自動再生させたいのですが、
ぐぐって出てきたページに
↓このようなコードがあり、ページ中のボタンを押すと再生が始まる仕組みになっているのですが、
ボタンを押さなくてもページが表示された時点で自動再生されるようにするには一体どうすればいいのでしょうか?

〜冒頭省略〜
$( "#button_play_all" ).click( function () {
var mySources = $( "#media_player" ).children( "source" );
var myAudioPlayer = document.getElementById( "media_player" );
myAudioPlayer.addEventListener( "ended", function () {
〜以下省略〜〜
0097Name_Not_Found
垢版 |
2017/06/04(日) 20:51:23.04ID:???
>>96 続き・・
<!-- 再生開始ボタン -->
<input id="button_play_all" type="button" value="全ファイル連続で再生" />

<!-- mp3を用意する(HTML5タグ) -->
<audio hidden name="media" preload="auto" id="media_player">
<source src="mp3のファイルパス" type="audio/mp3">
<source src="mp3のファイルパス" type="audio/mp3">
</audio>

ぐぐって出てきたページ↓
https://lightz.info/index.php/view/226?continue=1#continue
0098Name_Not_Found
垢版 |
2017/06/04(日) 23:44:29.83ID:???
>>96
autoplay 属性というのがある
<audio autoplay …
ただし、ブラウザ設定でブロックされている場合はどうやっても無理だろう(ユーザに強制できない)
0099Name_Not_Found
垢版 |
2017/06/05(月) 00:04:54.08ID:???
>>98
ありがとうございます。
1ファイルなら簡単に再生できるのですが、複数のファイルを順に再生する方法がわかりません。
サンプルコードではそこが実現できているのですがページ内のボタンをクリックする必要があります。
$( "#button_play_all" ).click( function () {
↑この部分がボタンクリックで実行する制御をおこなっているようですが
ここを省略して以下のコードを実行させるように書く方法がわかりません。
0100Name_Not_Found
垢版 |
2017/06/05(月) 02:36:34.55ID:???
>>99
autoplay で再生が始まったときのイベントを捕まえて
そのサンプルコードと似たコードを走らす必要があるだろうね
0103Name_Not_Found
垢版 |
2018/02/18(日) 20:15:41.37ID:???
☆ 日本の、改憲を行いましょう。現在、衆議員と参議院の
両院で、改憲議員が3分の2を超えております。
『憲法改正国民投票法』、でググってみてください。国会の発議は
すでに可能です。平和は勝ち取るものです。お願い致します。☆☆
0104Name_Not_Found
垢版 |
2018/05/01(火) 22:12:18.40ID:l1wYHpV1
誰でもできる在宅ワーク儲かる方法
少しでも多くの方の役に立ちたいです
グーグルで検索するといいかも『金持ちになりたい 鎌野介メソッド』

5OKLJ
0105Name_Not_Found
垢版 |
2018/05/05(土) 17:42:19.13ID:???
let $div = $('<div>')..append('<span>')

としてからspanにclassを追加したい場合はどうやればいいですか?
0106Name_Not_Found
垢版 |
2019/02/23(土) 19:36:35.09ID:???
x = (x === 0) ? y : x++;

この書き方間違ってますか?
ifに書き換えたら普通に動くのですが、これはダメでした。
0108Name_Not_Found
垢版 |
2019/06/03(月) 16:33:20.18ID:???
izimodal使ってる人がいたら教えて欲しいんだけど閉じるボタンの色変えるのどこ弄ったら良いですか?
オプションのIconColor設定しても変わらんし、izi Modal.cssでicon関連の色変えてみても反映されないの…
0109Name_Not_Found
垢版 |
2019/06/05(水) 14:47:29.13ID:???
>>106
やりたいのはこんな感じ?

<!doctype html>
<html>
<head><meta charset=”utf−8”></head>
<body>
<script>
let x = 0;
const y = 5;
console.log(”x: ”+x);
console.log(”y: ”+y);
if (x === 0) {
x = y
} else {
x++;

console.log(”x: ”+x);
if (x === 0) {
x = y
} else {
x++;

console.log(”x: ”+x);
</script>
</body>
</html>
0110Name_Not_Found
垢版 |
2019/06/05(水) 14:49:43.58ID:???
こうかな

<!doctype html>
<html>
<head><meta charset=”utf−8”></head>
<body>
<script>
let x = 0;
const y = 5;
console.log(”x: ”+x);
console.log(”y: ”+y);
x = (x === 0) ? y : x+1;
console.log(”x: ”+x);
x = (x === 0) ? y : x+1;
console.log(”x: ”+x);
</script>
</body>
</html>
0111Name_Not_Found
垢版 |
2019/06/05(水) 14:53:34.57ID:???
【要点】

>>106
> x = (x === 0) ? y : x++;
>
> この書き方間違ってますか?

x = (x === 0) ? y : x+1;
0113Name_Not_Found
垢版 |
2019/06/05(水) 18:22:48.19ID:???
>>112
半角だと投稿できないからな
まともなテキストエディタなら「半角⇒全角」は5秒かからないな

>>111 は読めるよね
0114Name_Not_Found
垢版 |
2019/06/06(木) 08:27:37.48ID:???
>>113
まともなプログラマなら、jsfiddleやcodepen等の外部サイトを使う
0115Name_Not_Found
垢版 |
2019/06/06(木) 14:05:05.55ID:???
煽らないと死ぬ病気かあ
0117Name_Not_Found
垢版 |
2019/06/08(土) 12:57:38.01ID:???
先日、どっかの外部サイトがサービス提供終了になってなかったっけ
0118Name_Not_Found
垢版 |
2019/06/19(水) 19:47:26.91ID:???
下記のようなtableに対して
<table>
<tbody>
<tr>
<td><input type="checkbox"></td>
<td><input name="tes" value="1"></td>
</tr>
</tbody>
</table>
checkboxをクリックしたら兄弟のinputのvalueを取得したかったのですが下記のコードを試してもvalueは取れませんでした
$('input:checkbox').on('click',function(e)){
var tes = $(this).closest('tr').children('td:eq(1)').val();
});
どう書けば良いかお教え下さい
0119Name_Not_Found
垢版 |
2019/07/28(日) 06:54:08.31ID:G4QBZ3uk
Showroom を見るときに、多くのアバターが邪魔なので削除していますが、
要素を削除するのに、一々、その親要素を取得して、親から子要素削除するのは、面倒

var elem = document.getElementById('js-avatar');
elem.parentNode.removeChild(elem);
0122Name_Not_Found
垢版 |
2019/09/02(月) 21:37:41.12ID:???
window.openで新しくタブを開き、input要素に文字を入れたいのですがどうのように刷れば良いでしょうか?
仮にjquery.comの検索ボックスに入力するとして、

var foo = window.open("jquery.com");
foo.$(".ds-input").val(333);

としたら出来ました!!?!?!?
さっきまでは出来なかったんですが・・・すいません
ありがとうございました
0123Name_Not_Found
垢版 |
2019/09/02(月) 21:43:15.45ID:???
var foo = window.open("jquery.com");foo.$(".ds-input").val(333)
と一行で書くと駄目みたいです
jqeuryが読み込まれていないせいでしょうか
0124Name_Not_Found
垢版 |
2019/10/02(水) 14:18:17.64ID:???
jQ勉強中です。containsを覚えました。ですが、例えば
$('td:contains("abc")')
という指定をすると、td自体だけでなくその子孫要素のどれか1つにでもabcを含むとマッチしてしまいますが、そうじゃなく、
td要素自体が直接abcというテキストを持っている要素だけにマッチするようにするにはどうしたらいいでしょうか?
0125Name_Not_Found
垢版 |
2020/02/01(土) 11:30:43.67ID:???
<div class="result"></div>にajaxを使って
.done((data) =>{
  $('.result').html(data);
})
でtableを表示してるのですが、
そのtableをマウスクリックした明細行の情報を取得することは可能ですか?
0126Name_Not_Found
垢版 |
2020/02/29(土) 22:05:16.62ID:???
すみません、わかる方がいらっしゃれば教えていただけないでしょうか。

<table>

<tr class = '010'> <td>あ</td>い<td>う</td>え<td>お</td> </tr>
<tr class = '010'> <td>か</td>き<td>く</td>け<td>こ</td> </tr>
<tr class = '020'> <td>さ</td>し<td>す</td>せ<td>そ</td> </tr>
<tr class = '010'> <td>た</td>ち<td>つ</td>て<td>と</td> </tr>
<tr class = '010'> <td>な</td>に<td>ぬ</td>ね<td>の</td> </tr>
<tr class = '020'> <td>は</td>ひ<td>ふ</td>へ<td>ほ</td> </tr>
<tr class = '010'> <td>ま</td>み<td>む</td>め<td>も</td> </tr>
<tr class = '030'> <td>や</td>ゆ<td>よ</td>?<td>!</td> </tr>

</table>


【やりたいこと】
「き」のセルをクリックしたら同じclass='010'の中で直後にあたる
「た」行のみ背景色を変えたい。

【困っていること】
以下のようなコードを書いたのですが、当然のことながらclass='010'である
すべての行の色が変わってしまいます。($(this)は「き」の<td>です)

$(this).parent().siblings('.010').css("background-color", "#ffcccc");

これをclass='010'である行の内、「き」の<td>が含まれる列の直後の列に
限定することはできるのでしょうか。
0127Name_Not_Found
垢版 |
2020/07/24(金) 07:06:56.94ID:???
そもそも「き」はテキストノードでtd要素になってない。htmlから勉強しなおしてください。
0128Name_Not_Found
垢版 |
2020/07/24(金) 11:49:34.74ID:???
半年経ってやっと回答付いてるww
0129Name_Not_Found
垢版 |
2022/08/19(金) 00:59:08.21ID:cMF1ija4
すんませんjQueryの質問なんやけど
eachでliタグの子要素のimgタグを取得してalt属性を追加して値はliタグの子要素のemタグのテキストにしたいんだが

全部のliタグの子要素のemタグのテキストを追加してしまう
対応するliタグの子要素のemタグのテキストをそれぞれ追加したいんや!
おせーてくれ!!たのんます!!
0130Name_Not_Found
垢版 |
2022/08/19(金) 13:26:40.78ID:???
li タグの子の、img タグのalt 属性に、
同じliタグの子の、em タグのテキストを設定する

<li><img src="a.jpg"><em>あい</em></li>
<li><img src="b.jpg"><em>abc</em></li>

$( function ( ) {
$( 'li' ).each( function( ) {
const that = $( this );
that.children( 'img' ).attr( 'alt', that.children( 'em' ).text( ) );
} );
} );

結果
<img src="a.jpg" alt="あい">
<img src="b.jpg" alt="abc">
0131Name_Not_Found
垢版 |
2022/09/21(水) 13:20:03.39ID:???
生のDOMを取得するときには
$("#unko")[0]
ってやるけど、これって正式な手順なの? それとも有名な裏技扱い?
DOM取得メソッドって存在するっけ?
0132Name_Not_Found
垢版 |
2022/09/23(金) 05:29:27.82ID:???
>$("#unko")[0]

単に、これじゃダメなのか?
abc クラスが2つ以上あればダメだけど、1つならどう?

const abc = $( '.abc' );
0134132
垢版 |
2022/09/24(土) 00:37:46.06ID:???
>>132
修正

>const abc = $( '.abc' );
これはダメでした!

やっぱり以下のように、インデックスも必要でした
const abc = $( '.abc' );
abc[0]
0135Name_Not_Found
垢版 |
2022/10/26(水) 18:08:48.79ID:???
bxsliderとlightboxを組み合わせて使うと、
lightboxのグループ化がバグって同じ内容が2つずつ表示されてしまうのですが、
回避方法は無いでしょうか。。。
0136Name_Not_Found
垢版 |
2022/12/01(木) 22:49:59.10ID:???
jQueryをマスターしたいので、おすすめの解説書を教えて下さい。
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況