X



jQuery 質問スレッド vol.8
■ このスレッドは過去ログ倉庫に格納されています
0001Name_Not_Found
垢版 |
2017/10/23(月) 06:31:18.14ID:???
JavaScriptでDOM用ライブラリであるjQueryのスレです。
次スレは>>950>>2のテンプレ案(本スレで改善案があれば考慮)を元に立ててください

このスレはjQueryやjQuery UIの使い方やjQueryプラグインの作り方を質問するスレです。
jQueryを使って作る側のスレであって、こんなプラグインありませんか?と聞くスレではありません。
そういうのは自分で探してください。
ろくにサポートもされてなさそうな野良プラグインの使用はおすすめしません。

JavaScriptの質問は関連スレで質問して下さい。

■前スレ
jQuery 質問スレッド vol.7
https://mevius.5ch.net/test/read.cgi/hp/1478055094/

■関連スレ
JavaScript の質問用スレッド vol.130
https://mevius.5ch.net/test/read.cgi/hp/1501503056/
ECMAScript デス 6
https://mevius.5ch.net/test/read.cgi/tech/1483332914/
JavaScript ライブラリ総合質問所 vol.5
https://echo.5ch.net/test/read.cgi/hp/1465399470/
0055Name_Not_Found
垢版 |
2017/12/01(金) 00:43:41.67ID:lUIdGgqz
>>54
<div class="100%wide_center_box">
<div class="500px_center_box">
テキスト
<div class="IMG">500で表示画像</div>
テキスト
</div>
</div>
----
.100%wide_center_box img {
max-width: 1000px;
margin: 0px auto;
}
htmlはいじれません。cssとスクリプトのみ書けます。
なので「可能なら」手っ取り早く画像直前で親クラス閉じタグ追加し、
好きなサイズで画像をセンタリング表示させ、
最後に親クラス開始タグ追加すればいいかとbeforeとafterで試みましたがうまく行かず、、
<div class="centerbox">
<div class="500box">
テキスト
</div>←追加
<div class="IMG">css指定した任意のサイズで画像表示</div>
<div class="500box">←追加
テキスト
</div>
</div>
0056Name_Not_Found
垢版 |
2017/12/01(金) 06:00:43.22ID:???
>>55
画像の数は不特定多数?いくつかの固定数?
後者の場合、ファイル名は不特定?いくつかの固定数?
0057Name_Not_Found
垢版 |
2017/12/01(金) 09:48:42.19ID:???
>>49
jQueryにそんな機能はないし、>>39で説明できてないけどね
0058Name_Not_Found
垢版 |
2017/12/01(金) 10:16:37.02ID:???
>>57
DOMの扱いにくさを説明しているだけだろ?
0059Name_Not_Found
垢版 |
2017/12/01(金) 10:41:05.23ID:???
>>58
>>15とは無関係だね
>>50で当人は捨て台詞を残してるけど、彼の意見を正確に理解した人はいないわけで
0060Name_Not_Found
垢版 |
2017/12/01(金) 11:22:49.66ID:???
>>55
$('.IMG').each(function(){
var $img = $(this).find('img');
var $parent = $(this).parent();
var $contents = $parent.contents();
if ($img.width() > 500) {
$img.width(1000);
var $this = $(this);
var $div = $('<div class="500px_center_box" />' ).text($contents[2].textContent);
$contents[2].textContent = '';
$parent.after($this, $div);
}
});

こういうことかな?
.500px_center_box 内にインライン要素が入ってたらまた違うけどね
0061Name_Not_Found
垢版 |
2017/12/01(金) 20:51:22.71ID:???
そもそも、できたらいいな=できないことをコード化しろって
0062Name_Not_Found
垢版 |
2017/12/01(金) 22:31:27.31ID:???
>>53
>親要素以上の幅を持つ画像が挿入された場合はそれのみ親幅を超えてセンタリング表示される
はcssだけでできなくもないがかなり条件があるので>>56に答えてくれんと何とも書けない
0063Name_Not_Found
垢版 |
2017/12/03(日) 19:38:05.40ID:???
他スレより。ただしおすすめはしない。
自分的には、気持ち悪いしそもそも右に幅があるなら最初からその幅で固定する。

<select id="hoge">
 <option>ああああああああああああああああああああ</option>
 <option>いいいいいいいいいいいいいいいい</option>
 <option>ううううううううううううううううううう</option>
</select>

$('#hoge').on('mouseover', function(){
 $(this).width('300px');
});

$('#hoge').on('mouseleave', function(){
 $(this).width('100px');
});
0066Name_Not_Found
垢版 |
2017/12/04(月) 00:32:10.56ID:???
CSSの話題だからここはスレ違いってだけ
0067Name_Not_Found
垢版 |
2017/12/04(月) 19:42:35.79ID:???
勘違いと認めて謝罪までしてるのに更に追い詰めるヤツ
会社で嫌われてるんだろうな
0068Name_Not_Found
垢版 |
2017/12/05(火) 00:06:41.52ID:???
そうやってレスするから、
レス返すしかないだろ
お前が悪いんやで
0069Name_Not_Found
垢版 |
2017/12/05(火) 01:34:44.34ID:???
>>67
自分で「部下に頼られる」書いてたわw
0070Name_Not_Found
垢版 |
2017/12/05(火) 01:56:47.96ID:???
俺のことじゃなかったのか
0073Name_Not_Found
垢版 |
2017/12/18(月) 22:46:59.92ID:Nm/ZqwPI
今UIのAccordionを使用してますが項目が増えたので
https://www.meanthemes.com/demo/meanmenu/demo.html
の動作のように2層化させたいです(デモの+-は不要)。

<div id="a">
 <h3>
 <div id="b1">
 <h3>
 <div id="b2">
  <h4>
  <div id="c1">
  <h4>
  <div id="c2">

var $a = $(document.getElementById('a'));
$a.accordion();

この場合、
var $b2 = $(document.getElementById('b2'));
$b2.accordion();
と加えればいいのでしょうか。

また、b2レベルが多数ある場合
$b3.accordion();、$b4.accordion();、・・・
などとその都度増やさないといけないのでしょうか。
お願いします。
0074Name_Not_Found
垢版 |
2017/12/18(月) 22:50:42.08ID:???
まず

var $a = $(document.getElementById('a'));
$a.accordion();



$('#a').accordion();
0075Name_Not_Found
垢版 |
2017/12/18(月) 22:54:58.72ID:???
<div id="a" class="accordion">
 <h3>
 <div id="b1">
 <h3>
 <div id="b2" class="accordion">
  <h4>
  <div id="c1">
  <h4>
  <div id="c2">

$('.accordion').accordion();
0076Name_Not_Found
垢版 |
2017/12/20(水) 19:47:08.04ID:???
>>75
それ動いたとしても公式にいいの?
0077Name_Not_Found
垢版 |
2017/12/20(水) 20:33:44.98ID:???
何となく動くようなら十分だろ
そんなに心配ならフルFlashででも作っとけ
007873
垢版 |
2017/12/20(水) 21:52:07.16ID:???
レスありがとうございます。

>>74
$aは他で何回か使っているので73のようにしてたのですが
$('#a')でないといけないのでしょうか?

>>75
それぞれにoptionが使えなかったりイベント拾ってるので問題ありです。
0079Name_Not_Found
垢版 |
2017/12/20(水) 22:32:44.16ID:???
>>78
> $aは他で何回か使っているので73のようにしてたのですが

メソッドチェーンを使えばいいので一つの関数内で何回も使う必要はない
別のイベントハンドラで使うならば、その都度取得した方がいい
イベントハンドラが違うということは要素に変化がある可能性があるから
別の関数で使うならば、関数の分割の仕方が悪い
何回も呼び出されてパフォーマンスに影響をあたえる場合は変数に入れるという手もありだが
そんな事例は少なく、一般論として短い書き方である$('#a')としたほうがよい

> それぞれにoptionが使えなかったりイベント拾ってるので問題ありです。
ならまとめられる部分だけまとめればいい
0080Name_Not_Found
垢版 |
2017/12/21(木) 09:11:46.46ID:???
>>78
結果的には同じなのでいけない、間違いということではない
$(...) 【 jQuery(...) 】 はjQuery API を使用するということ
jQuery API では$('#a') というセレクタが用意されているので
わざわざインターフェイスからメソッド継承で jQuery API を使用する必要はない
0081Name_Not_Found
垢版 |
2017/12/21(木) 21:50:15.49ID:???
>>77
明らかにリファレンスやサンプルソースと違う場合、バージョンアップなどで不具合の可能性を残すことになる
つまりその時点で問題点を抱えることになり、己で首を絞めてるようなもの
疑問や不安が出るのは自然であり、今動けばいいなどと安易な輩と一緒に仕事してる人たちが気の毒だわ
0082Name_Not_Found
垢版 |
2017/12/21(木) 22:10:08.66ID:???
>ならまとめられる部分だけまとめればいい
無茶言うな〜
0083Name_Not_Found
垢版 |
2017/12/21(木) 22:18:42.82ID:???
>>81
馬鹿だな
そんなこと言ってちゃなんにも使えないって言ってるんだよ
不安で不安で何もできないより、適当に動く方がいい
そもそも見る方の環境も様々なのがWebだからね
バージョンの際には問題があれば対処すればいいだけ
そもそも流れの速いWebで同じライブラリやコードをいつもでも使おうと考える方が間違い
0084Name_Not_Found
垢版 |
2017/12/21(木) 22:51:04.27ID:???
んなこたない
どんだけ暇人なんだ
その1件とは限らんだろ
まさか10年単位で使おうってわけでもあるまい
0085Name_Not_Found
垢版 |
2017/12/21(木) 23:02:57.65ID:???
>>82
UI使っててそれはないわな
なら裸で書くだろ

ちなみに$aか$('#a')かはどっちでもいい
好みで使っとけ
0086Name_Not_Found
垢版 |
2017/12/22(金) 00:01:21.23ID:???
>>78
何度も使うから、変数a にキャッシュしたのか

#a が永久に変化しないのなら、それで良い。
ただし、const, let か、定数を明記しておくこと
008973
垢版 |
2017/12/22(金) 23:03:00.26ID:???
>>79
まとめるがよくわかりませんが全て異なる処理の部分もあるので結局idの方がとなってしまいます。
0090Name_Not_Found
垢版 |
2017/12/23(土) 08:32:52.14ID:eqSmGdLx
javascriptもしくはjqueryでhtml文字列を渡したらサニタイズしたものを
返してくれる関数無いですか?
0092Name_Not_Found
垢版 |
2017/12/23(土) 10:35:22.93ID:???
>>90
javascriptでサニタイズする関数は無いよ
何が目的なのか解らないけど
$('<hoge>').text().html() で特殊文字はエスケープ出来るけど
0093Name_Not_Found
垢版 |
2017/12/23(土) 11:26:14.89ID:eqSmGdLx
>>92
ブラウザ側でsocket.ioで受信したデータをサニタイズして表示しようとしています。
$('<hoge>').text().html()の使い方についてですが、
<hoge>の部分は何でも良くて、textメソッドにサニタイズしたいタグが含まれる
可能性のある文字列を入れると戻り値としてサニタイズされた文字列が返るという
ことでしょうか?
0094Name_Not_Found
垢版 |
2017/12/23(土) 13:06:10.80ID:???
ほらくそ、真面目にサニタイズとかに答えるから
サニタイズ言うなキャンペーン読んでこい
今後サニタイズ言うな
正しい言葉で質問し直せ
でないと答えられんだろうが
0095Name_Not_Found
垢版 |
2017/12/23(土) 13:38:46.89ID:eqSmGdLx
サニタイズ言うなキャンペーン読んできましたが、
結局どうしたらいいのか良く分かりません。結局どうすればいいのですか?

サニタイズ言うなということは、HTMLタグを無効化するとか言えばいいのですか?
0096Name_Not_Found
垢版 |
2017/12/23(土) 13:41:33.37ID:???
無理に難しく言わずに用語を知らないのなら、
どうしたいのかを書けばいい
0097Name_Not_Found
垢版 |
2017/12/23(土) 13:57:18.81ID:eqSmGdLx
socket.ioでブラウザ(クライアント側)に送られてくるデータは他のユーザーが
送信したデータなのでHTMLタグなどを含んでいます。
(リアルタイムチャットサイトを作っています)
なので、受信したデータのHTMLタグなどを無効化したいです。
0098Name_Not_Found
垢版 |
2017/12/23(土) 14:17:24.35ID:???
そういうのは無効化なんていわないんだよ。まあいいや
まずな、ブラウザに送られてくるデータっていうのは
サニタイズとか無害化とか無効化しようと考えるな。そのまま使え

でだ、問題が有るときはそのデータを「画面に表示するときだけ」なんだよ

言ってる意味わかるか? 計算に使ったりメッセージを組み立てる時とか
そういうときには、無効化する前のデータを使うってことだ。

そして一番最終段階、画面に表示するときにHTMLタグをタグとして表示するのではなく
(無効化ではなく)文字列として表示すれば良いんだよ

その場合にやるのは、<> という文字を &lt; &gt; に変換(HTMLエスケープ)するってことだ。
これが本当にお前がやりたいことだ。
無効化とかサニタイズという言い方じゃ、こういうことをしたいのかって分からんだろ?
例えば <> を消したり大文字に変換したとしても、HTMLタグとして表示されないわけで
目的(サニタイズ)は達成できてるとも言える。

それからJavaScriptにはURIエスケープは有るがHTMLエスケープはない
文字列置換で自分で作ることはできるが。そもそもそんなことをする必要がない。

なぜなら、jQueryであればhtml()メソッドを使ってデータを表示されるだけで
自動的にHTMLエスケープが行われるからだ
0099Name_Not_Found
垢版 |
2017/12/23(土) 14:38:15.63ID:eqSmGdLx
言葉が適切でなかったことを謝ります。
詳しく教えていただきありがとうございます。
0100Name_Not_Found
垢版 |
2017/12/23(土) 19:18:16.54ID:???
>>75
まともに動かないし動くわけがない
0101Name_Not_Found
垢版 |
2017/12/23(土) 19:53:58.10ID:???
理由書いてないから無視すべき書き込みだなw
0102Name_Not_Found
垢版 |
2017/12/23(土) 21:08:42.85ID:???
理由なんていらんわな
見ればわかること
0103Name_Not_Found
垢版 |
2017/12/23(土) 22:42:39.63ID:???
jQueryも不要
要素作って textContentに設定するだけ
(改行スタイルを CSS white-spaceで設定する)
0104Name_Not_Found
垢版 |
2017/12/23(土) 23:02:45.41ID:???
hとdivの関連性が崩れてる
UIだとカスタマイズや変更が楽だしKBも対応してるんだよな

UI使わないにしてもwhite-spaceなんぞ使わなくてもできるよ
0105Name_Not_Found
垢版 |
2017/12/24(日) 00:32:29.20ID:???
なんだ、<, > などの文字が、&lt;, &gt; に変換される、HTMLエスケープの事か

DOM 操作とか、<script> タグなどは、気を付けた方がいい
0106Name_Not_Found
垢版 |
2017/12/25(月) 22:21:01.37ID:???
バリデーション、エスケープ、フィルタリング、サニタイズ
勘違いや境目や定義の曖昧さで紛らわしくなる場合がある
>>96がごもっとも
0107Name_Not_Found
垢版 |
2017/12/25(月) 22:49:01.92ID:???
モジュールとカセットの違いを教えてください
0108Name_Not_Found
垢版 |
2017/12/29(金) 18:45:05.43ID:oD//DbIw
ソース内に一箇所だけ書かれてる「class="ランダム英数字"」を
新規にwrap()追記する際にwrap('<a href...内に
その「class="ランダム数字"」を記入することってできます?
class="(.*?)"ですかね?でも貼り付けがわからず、、
同要素、クラス内の検索置換ってのは見つかるんだけど、
ソース全体から正規表現で拾ってきたものをある場所にペーストする、ってのがわからず、、
よろしくお願いします!
0110Name_Not_Found
垢版 |
2017/12/30(土) 10:58:54.21ID:???
数字なら¥d+とかで複数桁までオケじゃね
0111Name_Not_Found
垢版 |
2017/12/30(土) 11:04:08.31ID:???
ランダム英数字の定義で、[A-Za-z0-9_] なら、\w。
アンダーバーを含まないなら、[A-Za-z0-9]

クラスを持つ、すべての要素から、半角英数字だけのクラスを取り出して、
最初の1つが見つかったら、return false; で、each 内から抜ける

wrap については「jQuery, wrap/wrapAll/wrapInner」で検索して

$( '[class]' ).each( function(){
if ( /^[A-Za-z0-9]+$/.test( $(this).prop('class') ) ){

console.log( $(this).prop('class') );
return false;
}
} )
0112Name_Not_Found
垢版 |
2017/12/30(土) 12:32:28.43ID:???
> console.log( $(this).prop('class') );
www
0113Name_Not_Found
垢版 |
2018/01/02(火) 02:06:34.00ID:???
こっちに誘導されたんで来ました
jQueryで別ファイルからヘッダとフッタを読み込みってことやったんですが、処理は上手く行っているようだが
サーバーのファイルを更新してもjQueryで読み込むから日付チェックをしていないようで古いものがキャッシュから読まれてしまう
こう言うの抑止する方法とかありませんか?

当方webに関しては殆ど素人です
0114Name_Not_Found
垢版 |
2018/01/02(火) 09:22:18.47ID:???
>>113
いまどうやってるかを書かないと
エスパーするしかないと思う

たとえば$.getでとってるなら
cache: falseとか
(日付チェックとは違うけど)
0115Name_Not_Found
垢版 |
2018/01/02(火) 10:05:03.56ID:???
>>114
すみません。ググったらなんとかなった
$(function () {
$.ajaxSetup({
cache: false
});
});
足したら直りました

ちなみに、ここで動画管理のアプリ配っています(Windows10用)
http://www7b.biglobe.ne.jp/~megatherium/

webは、ほぼ素人なので夜中に焦りましたわw
0116Name_Not_Found
垢版 |
2018/01/10(水) 19:11:44.11ID:???
すみません、質問です

html内にボタンを設置し、そのボタンをクリックすると他のページからメールフォームを読み込むページを作成しているのですが、
メールフォームは読み込みこめたのですが、メールフォームに付いてる住所の自動入力のスクリプトが適用されません
どのようにすればよいでしょうか?

<!-- ボタン・インクルードスクリプト -->

$('#*** a').click(function(){
$('#***').load('***.html #*** ');
return false;
});


<!-- 住所の自動入力スクリプト-->

$(window).ready( function() {
$('#postcode').jpostal({
postcode : [
#postcode'
],
address : {
'#address1' : '%3',
'#address2' : '%4%5'
}
});
});


当方、超初心者なので説明が下手かもしれませんがどうぞ宜しくお願いします
0117Name_Not_Found
垢版 |
2018/01/11(木) 02:30:34.34ID:???
そこまで初心者なら勉強しろ
ここは自ら勉強するものが躓いたときに聞きに来るところであって
コードを丸投げして直してもらうところではない
それが嫌なら有料でやれ
0118Name_Not_Found
垢版 |
2018/01/11(木) 07:31:37.72ID:XsyiIf16
>>117
そうカリカリすんなよw
0119Name_Not_Found
垢版 |
2018/01/11(木) 12:53:38.33ID:???
>$(window).ready( function() {
「$(document).ready()」と「$(window).load()」の違いが分からないのなら、以下を使う

$(function() {
// ここに処理内容を書く
});

それに、これらは最初のページの読み込みに反応するだけで、
後から、非同期(Ajax)で読み込んだ部分には反応しない

自分で、one(), on() で、要素にイベントハンドラーを付けて、処理すれば?
0120Name_Not_Found
垢版 |
2018/01/11(木) 17:08:14.25ID:???
>>119
ありがとうございます!!

出来ました!
0121Name_Not_Found
垢版 |
2018/01/13(土) 20:15:22.63ID:???
jQuery というより javascript に関する質問なのですが、よろしくお願いします。

<select id="sel">
<option value="a">A</value>
<option value="b">B</value>
<option value="c">C</value>
<option value="d">D</value>
</select>

<div id="img"></div>

こんな感じのとき、#sel の選択中に A〜D に応じるイメージを #img に表示したいと思っていますが、
option に hover イベントを仕掛けてもうまく行かないように思います。

選択項目が変化していることを知る方法はありますでしょうか?

$('#sel').change( function(){ hogehoge.. } ) はうまくいきます。
0122Name_Not_Found
垢版 |
2018/01/13(土) 20:16:49.33ID:???
>>121
すいません。
<option>の閉じは</option>です。
0123Name_Not_Found
垢版 |
2018/01/13(土) 20:46:30.80ID:???
>>121
正確に言うとDOMの話なんでJavaScriptの話じゃないけどな。
JavaScriptはブラウザ以外でも動く。ブラウザ特有のものはJavaScriptではない
0124Name_Not_Found
垢版 |
2018/01/13(土) 22:10:37.98ID:???
>>123

121, 122 です。それは失礼しました。
で、答えは?
0125Name_Not_Found
垢版 |
2018/01/13(土) 22:39:45.98ID:Fu9ngI75
buttonをクリックしたら特定のdivの中にある画像をクリップボードにコピーしたいの
ですが、jQueryあるいはJavaScriptで出来ますか?
0128Name_Not_Found
垢版 |
2018/01/13(土) 23:41:38.51ID:???
>>127だけどごめん、画像ならできないかも
やったことない
0129Name_Not_Found
垢版 |
2018/01/14(日) 10:58:48.61ID:???
>>121
根本的にUIに沿わない
あくまでselectはセレクトボックス
0130Name_Not_Found
垢版 |
2018/01/14(日) 11:07:19.12ID:???
そうだね
divでやればいいと思う
0131Name_Not_Found
垢版 |
2018/01/14(日) 17:04:44.06ID:???
selectはUIじゃないぞ?
UIはブラウザベンダーが決めてる。
HTMLとしてはselectは複数のoptionから選べるってだけの機能
そのUIをどう実装するかは関係ない
またよくある手としてJavaScriptでselectをブラウザ標準から
拡張することもよくある話
なので>>121はselect使うべき
0132Name_Not_Found
垢版 |
2018/01/14(日) 19:47:02.47ID:???
よくあるかどうかなんて誰も聞いていません
0133Name_Not_Found
垢版 |
2018/01/14(日) 20:24:34.72ID:???
>>121
そういうのタッチデバイスで意味ないから

>>131
そういうユーザ操作ひっくるめてUIでないの?
0135Name_Not_Found
垢版 |
2018/01/15(月) 17:30:39.34ID:???
>>125
Electron を使えば?

Electronではじめるアプリ開発
~JavaScript/HTML/CSSでデスクトップアプリを作ろう
野口 将人・倉見 洋輔、2017

この本を読めば?
0136Name_Not_Found
垢版 |
2018/01/15(月) 20:20:56.50ID:???
また売れない筆者か関係者か
0137Name_Not_Found
垢版 |
2018/01/15(月) 23:54:32.14ID:???
Electronでふと思い出したがVisualstudio codeって使い心地どうすか
俺が描くのってHTMLCSSjQueryだけなんだけど
0138Name_Not_Found
垢版 |
2018/01/16(火) 13:39:52.43ID:???
>>137
起動がやや重い(Atomよりはマシ)が起動後はスムーズで悪くない
0139Name_Not_Found
垢版 |
2018/01/16(火) 13:59:29.06ID:???
VS Code で、Windows で、Ruby も楽々。
コンソール画面には、PowerShell

Emmet, SASS, MD やら、これが無料で、笑いが止まらない www

【Microsoft Tech Summit】APP017 PowerShellの新しい相棒 Visual Studio Code
https://www.youtube.com/watch?v=0zo6z0yHrGk
0140Name_Not_Found
垢版 |
2018/01/28(日) 10:57:06.54ID:???
.aaaに動的に付けたclass(bbb ccc ddd・・・)の削除や付け直しを一括でしたく
$('.aaa').removeClass('bbb ccc ddd・・・');

$('.aaa').removeClass().addClass('aaa');
とするのはあり?
0142Name_Not_Found
垢版 |
2018/01/28(日) 11:50:24.50ID:???
>>140
それだと静的に付けたclassまで消えちゃうじゃん
0143Name_Not_Found
垢版 |
2018/01/28(日) 17:27:37.90ID:???
>>142
そうなんだけど・・・の管理が面倒で
変更の度にそこも付け加えなくてはならなくて
最初つけるclassは1,2個と少ないので楽かなと
0144Name_Not_Found
垢版 |
2018/01/28(日) 19:54:44.70ID:???
>>143
$('.aaa').removeClass(function(i, v){
return v.split(' ').slice(1).join(' ');
});
こういう感じでもええんやで
0145Name_Not_Found
垢版 |
2018/01/28(日) 21:03:38.80ID:???
一つの要素にJavaScriptからそんなに多くのクラスを
設定する必要が有ることがそもそも間違ってる
0147Name_Not_Found
垢版 |
2018/01/28(日) 21:59:16.24ID:???
たしかになんでそんなクラス付け外しするんだ
0148Name_Not_Found
垢版 |
2018/01/28(日) 22:03:12.50ID:???
>>144
aaaが必ずしも最初に来る保証がない場合は?↓とか

>>145
UI含めてライブラリで勝手に付けられたりするからな
0150Name_Not_Found
垢版 |
2018/01/29(月) 14:05:15.88ID:???
もいっこ別のクラスをつける、かな・・・
0151Name_Not_Found
垢版 |
2018/01/29(月) 21:22:55.42ID:???
>>147
ただ記事やブログ書いてるだけならそんないらんよ
ちょっと特殊な場合だな
ヒントだけ書くとスポーツやトラフィックや・・・
0152Name_Not_Found
垢版 |
2018/01/30(火) 00:27:10.26ID:???
>>148
ライブラリで勝手につけられると言っても
せいぜいbootstrapみたいに btn btn-primary btn-lg active ぐらいなもんだろ?
一つの要素に4つとかそのぐらいの数しかいらない
これもbootstrapのCSSの設計上これだけいるってだけで、
JavaScriptから設定するクラスだとやっぱりそんなにいらないと思う

まあ推測するに

<div data-state="a"></div>
<div data-state="b"></div>
<div data-state="c"></div>
<div data-state="d"></div>

みたいにやればいいのに、classで

<div class="a"></div>
<div class="b"></div>
<div class="c"></div>
<div class="d"></div>

こんな風にやろうとしてるんでしょ?

だからe, f, g が増えたらリセットするために、e, f, gのクラスを消すように
メンテナンスしなくちゃいけない!ってなってるんだと思うよ。
つまりやっぱり使い方が間違ってる。

前者のやり方であれば、当然data-stateを初期値に戻すだけでいい
0153Name_Not_Found
垢版 |
2018/01/30(火) 13:03:36.92ID:???
管理が大変って今どうやってて何が大変なのか分からん。

var myTags = 'bbb ccc ddd';
で管理して
$('.aaa').addClass(myTags);
$('.aaa').removeClass(myTags);
$('.aaa').toggleClass(myTags);
とか普通に使うんじゃダメなの?
0154Name_Not_Found
垢版 |
2018/01/30(火) 19:56:46.12ID:???
何度見てもHTMLの設計に問題がある気がする
■ このスレッドは過去ログ倉庫に格納されています

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