質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

Q&A

4回答

196閲覧

JS側での制御について

退会済みユーザー

退会済みユーザー

総合スコア0

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

0グッド

0クリップ

投稿2018/03/13 02:30

編集2022/01/12 10:55

前提・実現したいこと

すみません、htmlとcssしかわからない初心者です…。
ページを表示した際、JSで以下のコードを非表示にしたいのですが…。

発生している問題・エラーメッセージ

現在わかる技術者がおらず…対応できませんのでお願いします。

該当のソースコード

<div style="float:right;margin:13px 278px 13px 13px"><select onchange="switchDevice($(this))" name="device"><option value="3" selected="selected">PC</option></select></div>

補足情報(FW/ツールのバージョンなど)

システムが生成しているコード(html,css,JS)をJS側で制御しなければいけません。
何かちんぷんかんなことを聞いていましたら、申し訳ございません。どうぞよろしくお願いいたします。

追記

![イメージ説明
画像の「PC」と表示されている部分を非表示にしたいです。

システム上、htmlにidをつけることはできません。

name属性をJSで非表示にする方法を探し、以下のリンクを参考にしましたが、
非表示にできませんでした。
https://alllearnhobby.com/archives/2312.html

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

s8_chu

2018/03/13 02:35 編集

HTMLに`id属性`をつけたりすることもできないんですかね?
m.ts10806

2018/03/13 02:34

「コードを非表示」はできません。「要素を非表示」ならできます。もう少し具体的に何をどうしたいのか記述願えますか?(文章で難しい場合、図示でも結構です)また、何かしら調べたりしたことがあれば質問に追記してください。
Lhankor_Mhy

2018/03/13 02:43

きちんと対価を払って業者に依頼すべきでは。ここは「タダで問題を解決してくれる技術者」を探す場所ではありません。
guest

回答4

0

システム吐き出しだと、なかなかやっかいですよね。

記載のURLの方法は、
document.getElementsByClassNameなので、
それでは、今回のケースでは、非表示にできません。
今回のケースで使用するのは、document.getElementsByNameです。
(Classが抜けてるやつです)

以下のjavascriptをHTML内に入れてみてください。

html

1<script> 2var deviceSelect = document.getElementsByName('device'); 3var deviceSelectParent = deviceSelect[0].parentNode; 4deviceSelectParent.style.display = "none"; 5</script>

jQueryを使っているのならば、
他の回答者さん方の方法でも可能です。

投稿2018/03/13 02:44

編集2018/03/13 03:00
miyabi_takatsuk

総合スコア9528

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

読み込みを待たずに済む方法を。

JavaScript

1var style = document.createElement('style'); 2document.head.appendChild(style); 3style.sheet.insertRule('div>select[name="device"]{display:none}', 0);

投稿2018/03/13 09:34

x_x

総合スコア13749

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

jQueryを使っているようですから、hide()メソッドで非表示にするか、.removeメソッドで除去すればいいと思います。
.hide() | jQuery API Documentation
.remove() | jQuery API Documentation

セレクタの記述は、:hasや属性で何とかなるのでは。
:has() Selector | jQuery API Documentation
Multiple Attribute Selector [name=”value”][name2=”value2″] | jQuery API Documentation

投稿2018/03/13 02:50

Lhankor_Mhy

総合スコア35860

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

「switchDevice($(this))」でjQuery使ってるらしいので

javascript

1$('div:has(select[name="device"])').css('display', 'none');

セレクタをもっと強くする必要があるかもしれませんが。

もしくはこれでもいいような。

javascript

1$('div[style="float:right;margin:13px 278px 13px 13px"]').css('display', 'none');

投稿2018/03/13 02:49

編集2018/03/13 02:50
kszk311

総合スコア3404

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2018/03/13 03:59 編集

私も上記と同様ですが、 $('div:has(select[name="device"])').hide(); もしくは $('div[style="float:right;margin:13px 278px 13px 13px"]').hide(); でもよいかと思います。 jQueryを使った表示/非表示の切り替えはshow()/hide()メソッドを使います。 削除でしたらLhankor_Mhyさんの仰っているremove()メソッドを使います。
kszk311

2018/03/13 04:21

コメントありがとうございます。 確かにdisplay:none;にするだけならhide()の方が良さそうですね。
miyabi_takatsuk

2018/03/13 04:47

jQueryでここまで厳密にすればまず外れることないですよね。
kszk311

2018/03/13 04:56 編集

よくよく考えたら、1番目は、該当する親全てのdivが対象でした。 closestを使えば取得できますが、2番目のがいいですね。
退会済みユーザー

退会済みユーザー

2018/03/13 05:03

セレクタで子要素→親要素たどるのはどうでしょうか? $('div>select[name="device"])').parent().hide();
kszk311

2018/03/13 05:27

確かにそうですね。 $('select[name="device"])').parent('div').hide(); でもいいですね。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問