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

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

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

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

CSS

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

Q&A

2回答

3779閲覧

vscodeにて、CSSの影響範囲一覧を確認する方法はありますか?

sk-azuki

総合スコア12

HTML

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

CSS

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

0グッド

0クリップ

投稿2019/06/13 12:14

cssを編集する際に、ワークスペース全体でどこまで影響があるかを簡易的に確認する方法はないでしょうか。

例えば下記cssの記述があったとして
クラス名がclass15であり、子要素にspanの記述がある箇所全てを
1つのhtmlファイル内に限らず、プロジェクト全体から
一覧で確認する方法、拡張機能などがあれば教えて頂ければと思います。

css

1.class15 span { 2 color: #F00; 3}

ネットで探してみたところ、xpathという言葉に出会いましたが
vscode、HTML・CSSでは使用できなそうな気がしました。

(最悪、vscodeを使わない手段でも構いません。)

以上、宜しくお願い致します。

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

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

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

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

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

m.ts10806

2019/06/13 12:50

「ない」と思うのですが、「ネットで探してみたところ」というのはどのような記事を読まれたのでしょうか。 xpath自体は例えばSeleniumなどで要素を指定するときにプログラム側から利用するような形はよく見ますが
miyabi_takatsuk

2019/06/14 01:22

HTML、CSS、JavaScriptを包括的に管理するIDEが欲しい・・・。 DWでもあまり、そこまで包括的になってない気がする・・・。 って言えちゃうくらいないと思います。 強いて言えば、プロジェクト管理して、プロジェクト全体で、 "class15"を文字列検索、くらいでしょうか。
guest

回答2

0

検索で対応できないでしょうか?
VSCode初心者のための、絶対覚えておきたい便利機能まとめ

VSCodeはファイル間の文字列検索と置換がすごく簡単にできます。

こちらの記事が分かりやすく、私自身も活用しています。

投稿2019/12/14 09:48

mayukoOKAMOTO

総合スコア10

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

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

0

コマンドラインツールを自作するのはどうでしょうか。
以下のコードは npm i && npm start で実行できます。
find の後のドット(.)は、検索したいディレクトリを指定してください。

簡易的なものなので検索条件が固定で
ファイルパスと検索にかかったコードしか表示していませんが、
工夫次第でもっと使いやすくもできるかと思います。

javascript は、 xpath.js というファイル名で保存
json は、 package.json というファイル名で保存してください。
また、実行には node.js が必要になります。

js

1const program = require('commander'); 2const fs = require('fs'); 3const parse5 = require('parse5'); 4const dom = require('xmldom').DOMParser; 5const xpath = require('xpath'); 6 7program.parse(process.argv); 8let filePaths = program.args; 9 10for (let filePath of filePaths) { 11 fs.readFile(filePath, (err, file) => { 12 let document = parse5.parse(file.toString()); 13 let html = parse5.serialize(document); 14 let doc = new dom({ errorHandler: false }).parseFromString(html, 'text/html'); 15 let select = xpath.useNamespaces({ 'x': 'http://www.w3.org/1999/xhtml' }); 16 17 let nodes = select('//x:*[contains(@class,"class15")]/descendant-or-self::node()/descendant::*[name()="span"]', doc); 18 for (let node of nodes) { 19 console.log(filePath + ': ' + node); 20 } 21 }); 22}

json

1{ 2 "name": "xpath", 3 "version": "1.0.0", 4 "description": "", 5 "main": "xpath.js", 6 "scripts": { 7 "start": "find . -type f -name '*.html' | xargs node xpath.js" 8 }, 9 "keywords": [], 10 "author": "", 11 "license": "ISC", 12 "devDependencies": { 13 "commander": "^2.20.0", 14 "parse5": "^5.1.0", 15 "xmldom": "^0.1.27", 16 "xpath": "0.0.27" 17 } 18}

投稿2019/06/14 04:00

編集2019/06/14 04:06
syuus

総合スコア403

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

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

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問