[過去ログ] JavaScript の質問用スレッド vol.125 (1002レス)
前次1-
抽出解除 レス栞 あぼーん

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
428: デフォルトの名無しさん (JP 0H11-JDfe [126.249.157.89]) [sage] 2022/12/17(土) 20:57:11.28 ID:/rkC0QGzH(1) AAS
>>426
426(1): デフォルトの名無しさん (ワッチョイ 2101-SK8t [60.69.186.142]) [sage] 2022/12/17(土) 13:49:34.17 ID:ycEukJwD0(2/3) AAS
>>424
変更はこっちだった
外部リンク:developer.mozilla.org
ありがとうございます。JSの皆様は本当に神様。
取り急ぎお礼申し上げます。ありがとうございます。
できれば明日時間をとって拝読させていただきます。
437
(1): デフォルトの名無しさん (JP 0H11-JDfe [126.249.157.89]) [sage] 2022/12/18(日) 12:44:32.64 ID:uPN+O46jH(1) AAS
>>427
427(1): デフォルトの名無しさん (ワッチョイ 2101-SK8t [60.69.186.142]) [sage] 2022/12/17(土) 13:53:37.75 ID:ycEukJwD0(3/3) AAS
>>424
訂正
外部リンク:developer.mozilla.org
様、ありがとうございました。
CSSのスタイル設定プロパティをJSで編集できました。
CSSRulesは配列で返ってきますが
cssRules['div'].color='blue'
のように、プロパティ名で編集する方法はありませんでしょうか?
442: デフォルトの名無しさん (JP 0H11-JDfe [126.249.157.89]) [sage] 2022/12/21(水) 07:34:30.54 ID:nEbzRDrKH(1/3) AAS
>>441
441(1): デフォルトの名無しさん (ワッチョイ 2101-eq55 [60.103.74.80]) [sage] 2022/12/19(月) 21:50:19.67 ID:K0fHbKFE0(1) AAS
外部リンク:developer.mozilla.org

let style = document.styleSheets[0].cssRules[0].style;
style.fontSize = "1em";
// style.setProperty("font-size", "1em");
ありがとうございます。

let styleの呼び出し箇所を関数にして
selector名のオブジェクトを生成し、その中にプロパティ名とvalueを格納して呼び出すような
簡易的な関数を作成してみます
年末のお忙しいとろ、アドバイスありがとうございました。
444: デフォルトの名無しさん (JP 0H11-JDfe [126.249.157.89]) [sage] 2022/12/21(水) 19:18:04.39 ID:nEbzRDrKH(2/3) AAS
連日すみません。
<link rel="stylesheet" src>で読み込んだcssの
cssStylesheetプロパティにアクセスする方法を教えていただけないでしょうか?
446: デフォルトの名無しさん (JP 0H11-JDfe [126.249.157.89]) [sage] 2022/12/21(水) 22:46:02.69 ID:nEbzRDrKH(3/3) AAS
すみません、ちょっとググってみます
449: デフォルトの名無しさん (JP 0H11-JDfe [126.249.157.89]) [sage] 2022/12/22(木) 07:18:15.65 ID:slpViawnH(1/3) AAS
>>447
447(2): デフォルトの名無しさん (ワッチョイ 427c-e5AJ [43.235.241.201]) [sage] 2022/12/21(水) 23:16:30.68 ID:paD1IZJK0(2/2) AAS
どうしても分からないならchromeのDevToolsのConsoleで
document.styleSheets
って打ってみれば中身が全て見れる
中身見ても意味不明な場合はやりたいことは出来ないかも
それは試してみたんですけどundefinedなんですよね
他ファイルを参照した場合には、stylesheetがdocumentのプロパティになっていないようなのですよね
450
(3): デフォルトの名無しさん (JP 0H11-JDfe [126.249.157.89]) [sage] 2022/12/22(木) 07:21:31.78 ID:slpViawnH(2/3) AAS
>>447
すみません、訂正です
document.styleSheetで参照すると
document.styleSheet.cssRulesがnullとなってしまうんです
document.styleSheetで登録されるのは
同じファイル内のスタイルだけのよう?
他のcssファイルに書かれたスタイルを操作するには
どうしたらいいのでしょうか?
に訂正願います
455: デフォルトの名無しさん (JP 0H11-JDfe [126.249.157.89]) [sage] 2022/12/22(木) 19:14:24.29 ID:slpViawnH(3/3) AAS
みなさん、ありがとうございます。
関連した質問なのですが
cssが要素に適用される仕組みは
1:
<style>タグを読み込んだり<link ref>を読み込んだ時点で
ブラウザ実行環境にcssプロパティを記録して、セレクタを読み込んだ時に適用するのでしょうか?

それとも
2:
HTMLの要素を読み込んだ時に<style>タグや<link>先に走査して
cssの適用があるかを確認して適用する

なのでしょうか?
もし1なら、クライアントブラウザからアクセスできるような気がするのですけど
もし教えていただけるようでしたらご指導お願いします
457
(2): デフォルトの名無しさん (JP 0H11-JDfe [126.249.157.89]) [sage] 2022/12/23(金) 07:08:17.10 ID:OG24yN7PH(1/5) AAS
>>452
452(2): デフォルトの名無しさん (ワッチョイ eecf-DiWi [153.174.224.39]) [sage] 2022/12/22(木) 09:18:28.13 ID:N0yJkasM0(1) AAS
本当にやりたいのは、特定の要素のstyleを弄ることじゃないの?

424,437,440,442の記載の通り、cssRuleを直接編集したいと考えています

>>451
451(2): デフォルトの名無しさん (ワッチョイ 2101-eq55 [60.103.70.28]) [sage] 2022/12/22(木) 07:48:35.40 ID:YtaOqG2C0(1) AAS
document.styleSheetsの最後のs抜かしてないよな
document.styleSheets[0] みたいにインデックス使わないと参照できないぞ

437,441,442で記載の通り、配列で受けとって編集することはできています
しかし別のスタイルシートでは同様の方法では参照できませんでした

>>445
445(1): デフォルトの名無しさん (ワッチョイ 427c-e5AJ [43.235.241.201]) [sage] 2022/12/21(水) 21:53:16.64 ID:paD1IZJK0(1/2) AAS
ちょっとググれば出てくるような情報までくれって言うのか?
様のご指摘があって、再度検索してみたのですが
別スタイルシートのcssをオブジェクト化して参照する方法が見当たらず
今の質問に至っています

JQueryでできるようなレスがありましたので
JSでもできるのだろうなと思って次の質問をしました

皆様質問の仕方に失礼があっって申し訳ありませんでした
お許しくださいませ
462
(1): デフォルトの名無しさん (JP 0H11-JDfe [126.249.157.89]) [sage] 2022/12/23(金) 19:30:29.91 ID:OG24yN7PH(2/5) AAS
>>458
458(2): デフォルトの名無しさん (ワッチョイ 2101-eq55 [60.103.75.178]) [sage] 2022/12/23(金) 08:30:41.88 ID:d3IbDeU70(1) AAS
>>454 でクロスオリジンの場合にnullになるって指摘されてるけど、これに引っかかってるだけじゃないかな
この場合はどうにもならんと思う
459,460,461

皆様ありがとうございます
具体的にこれをしたいというのはなかったんですけど
js勉強していまして、そういうことできるのかな?という質問でした

jsのエンジンは<link rel>を実行すると
jsの実行コンテキストを記録するメモリ部分に
<rel>の情報をロードして
HTML要素を読み込んだ時に参照するという挙動なら
クロスオリジンの適用を受けずに編集できるかなと
そういう疑問も持ちまして質問させていただきました

皆様ありがとうございました
464: デフォルトの名無しさん (JP 0H11-JDfe [126.249.157.89]) [sage] 2022/12/23(金) 20:55:49.05 ID:OG24yN7PH(3/5) AAS
>>460
460(1): デフォルトの名無しさん (ワッチョイ 427c-e5AJ [43.235.241.201]) [sage] 2022/12/23(金) 17:28:12.54 ID:o+ONuUnd0(1/2) AAS
>>458で指摘している通り、他の所から読み込んだスタイルはそもそも変更出来ないって書いてあるんじゃね?
外部リンク:w3c.github.io

> Cross-origin stylesheets are not allowed to be read or changed.

>>459のように実際にcssRulesにアクセスすると自分の所のcssじゃない場合をアクセスしようとすると
Uncaught DOMException: Failed to read the 'cssRules' property from 'CSSStyleSheet': Cannot access rules
at <anonymous>:1:76
みたいなエラーになる

cssをいじりたいのだろうけど、そういう低層の話じゃなくて本当にやりたい事を書いた方が答えが得られると思うよ
結局何がやりたいのか全く分からんw
今勉強再開して思い出しました。
@keyframesのプロパティや値を
動的に変更したいと考えたのです

同じファイルなら
<style id="st">
として、stから@keyframesを設定編集できますが
外部ファイルでの設定編集ができないので
できたらいいな、って質問してみました
465
(1): デフォルトの名無しさん (JP 0H11-JDfe [126.249.157.89]) [sage] 2022/12/23(金) 20:57:53.66 ID:OG24yN7PH(4/5) AAS
>>463
463(1): デフォルトの名無しさん (オッペケ Sr11-y+PC [126.194.240.154]) [sage] 2022/12/23(金) 20:54:13.31 ID:2ps+kI7qr(1/3) AAS
>>462
>クロスオリジンの適用を受けずに編集できるかなと
君の>>450>>457の発言ではCSS参照が別ファイルでも同一オリジンでは問題なく出来て
別オリジンのみ問題が発生していると認識しているとは読み取れないけども
別ファイル即ち別オリジンと勘違いしてない?
同一オリジンなら別ファイルでも参照出来ることは理解してる?
勘違い、混乱してました。ありがとうございます!
467
(1): デフォルトの名無しさん (JP 0H11-JDfe [126.249.157.89]) [sage] 2022/12/23(金) 21:19:54.48 ID:OG24yN7PH(5/5) AAS
>>466
466(1): デフォルトの名無しさん (オッペケ Sr11-y+PC [126.194.240.154]) [sage] 2022/12/23(金) 21:10:25.93 ID:2ps+kI7qr(2/3) AAS
>>465
で、>>450で参照したかったのは本当に別サーバ等のcssだったのか
それともhtmlやjsと同じ場所に置いてあるcssだったのかどっち?
ローカルで、同じフォルダ内です
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.044s