回答編集履歴

2

調整

2021/12/09 04:08

投稿

yambejp
yambejp

スコア116724

test CHANGED
@@ -25,3 +25,39 @@
25
25
  </p>
26
26
 
27
27
  ```
28
+
29
+
30
+
31
+ ※priceクラスのついてない部分を非表示するjs
32
+
33
+ ```javascript
34
+
35
+ <script>
36
+
37
+ window.addEventListener('DOMContentLoaded', ()=>{
38
+
39
+ [...document.querySelector('p').childNodes].filter(x=>x.nodeType==3).forEach(x=>{
40
+
41
+ const s=document.createElement('span');
42
+
43
+ s.setAttribute('hidden','');
44
+
45
+ x.parentNode.insertBefore(s,x);
46
+
47
+ s.appendChild(x);
48
+
49
+ });
50
+
51
+ });
52
+
53
+ </script>
54
+
55
+ <p>
56
+
57
+  <span class="price">¥1,080</span>
58
+
59
+  (税込)
60
+
61
+ </p>
62
+
63
+ ```

1

chousei

2021/12/09 04:08

投稿

yambejp
yambejp

スコア116724

test CHANGED
@@ -1,3 +1,27 @@
1
- 非表示とは透明いいのかそれとも表示領域ふくめて非表示なのかによります
1
+ 「(税込)」の部分もspanなど囲めばできそうですがHTMLいじるはNGです
2
2
 
3
+ JSからHTMLの構造を変えてもよいのでしょうか?
4
+
5
+
6
+
7
+ ```HTML
8
+
9
+ <style>
10
+
11
+ p :not(.price){
12
+
13
+ display:none;
14
+
15
+ }
16
+
17
+ </style>
18
+
19
+ <p>
20
+
21
+  <span class="price">¥1,080</span>
22
+
3
- 前者は簡単ですが、後者の場合「(税込)」の部分もspanなどで囲む必要がありそうです
23
+  <span>(税込)</span>
24
+
25
+ </p>
26
+
27
+ ```