回答編集履歴

4

修正

2021/10/12 01:38

投稿

yambejp
yambejp

スコア116724

test CHANGED
@@ -51,3 +51,5 @@
51
51
  });
52
52
 
53
53
  ```
54
+
55
+ ※一部修正

3

shuusei

2021/10/12 01:38

投稿

yambejp
yambejp

スコア116724

test CHANGED
@@ -42,7 +42,7 @@
42
42
 
43
43
  if($('> :not(a)',this).length>0){
44
44
 
45
- $(this).find('>*').unwrap().wrapAll('p');
45
+ $(this).contents().unwrap().wrapAll('p');
46
46
 
47
47
  }
48
48
 

2

調整

2021/10/12 01:38

投稿

yambejp
yambejp

スコア116724

test CHANGED
@@ -31,3 +31,23 @@
31
31
  - Eのようにテキストノードを持つ場合場合
32
32
 
33
33
  - Fのように改行のような空白文字をテキストノードとして持つ場合
34
+
35
+
36
+
37
+ ```javascript
38
+
39
+ $(function(){
40
+
41
+ $('dt').each(function(){
42
+
43
+ if($('> :not(a)',this).length>0){
44
+
45
+ $(this).find('>*').unwrap().wrapAll('p');
46
+
47
+ }
48
+
49
+ });
50
+
51
+ });
52
+
53
+ ```

1

ちょうせい

2021/10/12 01:34

投稿

yambejp
yambejp

スコア116724

test CHANGED
@@ -1,3 +1,33 @@
1
1
  一般にdlタグの直下にはscriptやtemplateなど特殊なものを除くと
2
2
 
3
3
  dt,dd,div(特例)しか置くことができません
4
+
5
+
6
+
7
+ また仮にpに置換できるとして、aのみを直下に持つという条件は曖昧です
8
+
9
+ ```HTML
10
+
11
+ <dl>
12
+
13
+ <p></p>
14
+
15
+ <dt><a>linkA</a></dt>
16
+
17
+ <dt><a>linkB</a></dt>
18
+
19
+ <dt><a>linkC</a><a>linkD</a></dt>
20
+
21
+ <dt><a>linkE</a>text</dt>
22
+
23
+ <dt><a>linkF</a>
24
+
25
+ </dt>
26
+
27
+ ```
28
+
29
+ - C/Dのように複数のaを持つ場合
30
+
31
+ - Eのようにテキストノードを持つ場合場合
32
+
33
+ - Fのように改行のような空白文字をテキストノードとして持つ場合