質問編集履歴
9
タイトルを訂正
title
CHANGED
@@ -1,1 +1,1 @@
|
|
1
|
-
|
1
|
+
jQueryで指定タグを置換
|
body
CHANGED
File without changes
|
8
環境を訂正
title
CHANGED
File without changes
|
body
CHANGED
@@ -92,7 +92,7 @@
|
|
92
92
|
console.log(dtLen);
|
93
93
|
```
|
94
94
|
###環境
|
95
|
-
ChromeでエクスポートしたHTMLファイルを、ダブルクリックでChromeで開き、F12のコンソール画面で実行しています。
|
95
|
+
ChromeでエクスポートしたブックマークのHTMLファイルを、ダブルクリックでChromeで開き、F12のコンソール画面で実行しています。
|
96
96
|
|
97
97
|
Chromeバージョンは以下です。
|
98
98
|
バージョン: 94.0.4606.81(Official Build) (64 ビット)
|
7
【補足】を追記
title
CHANGED
File without changes
|
body
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
【補足】お二人からご回答を頂戴しましたが、文末の「環境」において実現可能な方法を探しております。どうぞ宜しくお願い致します。
|
2
|
+
|
1
3
|
###実現したいこと
|
2
4
|
|
3
5
|
以下の条件に合致したら`<p>`へ置換したいです。
|
6
コードの簡略化
title
CHANGED
File without changes
|
body
CHANGED
@@ -13,8 +13,8 @@
|
|
13
13
|
<h3>title</h3>
|
14
14
|
<dl>
|
15
15
|
<p></p>
|
16
|
-
<dt><a
|
16
|
+
<dt><a>linkA</a></dt><!-- 置換したい -->
|
17
|
-
<dt><a
|
17
|
+
<dt><a>linkB</a></dt><!-- 置換したい -->
|
18
18
|
</dl>
|
19
19
|
<p></p>
|
20
20
|
</dt>
|
@@ -26,8 +26,8 @@
|
|
26
26
|
<h3>title</h3>
|
27
27
|
<dl>
|
28
28
|
<p></p>
|
29
|
-
<p><a
|
29
|
+
<p><a>linkA</a></p><!-- 置換した -->
|
30
|
-
<p><a
|
30
|
+
<p><a>linkB</a></p><!-- 置換した -->
|
31
31
|
</dl>
|
32
32
|
<p></p>
|
33
33
|
</dt>
|
5
タイトルを訂正
title
CHANGED
@@ -1,1 +1,1 @@
|
|
1
|
-
JavaScriptで
|
1
|
+
JavaScriptで指定タグを置換
|
body
CHANGED
File without changes
|
4
環境を追記
title
CHANGED
File without changes
|
body
CHANGED
@@ -84,8 +84,13 @@
|
|
84
84
|
var dts = $('dt');
|
85
85
|
console.log(dts);
|
86
86
|
```
|
87
|
-
|
87
|
+
なのに、`.length`で数えてみたらundefinedでした。
|
88
88
|
```jQuery
|
89
89
|
var dtLen = $('dt').length;
|
90
90
|
console.log(dtLen);
|
91
|
-
```
|
91
|
+
```
|
92
|
+
###環境
|
93
|
+
ChromeでエクスポートしたHTMLファイルを、ダブルクリックでChromeで開き、F12のコンソール画面で実行しています。
|
94
|
+
|
95
|
+
Chromeバージョンは以下です。
|
96
|
+
バージョン: 94.0.4606.81(Official Build) (64 ビット)
|
3
試したこと(4)を追記
title
CHANGED
File without changes
|
body
CHANGED
@@ -77,4 +77,15 @@
|
|
77
77
|
console.log( element );
|
78
78
|
});
|
79
79
|
});
|
80
|
+
```
|
81
|
+
###試したこと(4)
|
82
|
+
普通に取得したら一番外側の`dt`がコンソールに表示されました。
|
83
|
+
```jQuery
|
84
|
+
var dts = $('dt');
|
85
|
+
console.log(dts);
|
86
|
+
```
|
87
|
+
そして`length`で数えてみたらundefinedでした。
|
88
|
+
```jQuery
|
89
|
+
var dtLen = $('dt').length;
|
90
|
+
console.log(dtLen);
|
80
91
|
```
|
2
試したこと(3)を追記
title
CHANGED
File without changes
|
body
CHANGED
@@ -49,12 +49,12 @@
|
|
49
49
|
});
|
50
50
|
```
|
51
51
|
###試したこと(2)
|
52
|
-
コンソールで確認したら`undefined`
|
52
|
+
コンソールで確認したら1回だけ`undefined`が表示されるだけで、なぜなのか..わかりません。
|
53
53
|
```jQuery
|
54
54
|
$(function(){
|
55
55
|
|
56
56
|
$('dt').each(function(index, element){
|
57
|
-
// コンソールで確認
|
57
|
+
// コンソールで確認
|
58
58
|
var hasA = $(this).children('a');
|
59
59
|
console.log(hasA); // -> undefined
|
60
60
|
|
@@ -65,4 +65,16 @@
|
|
65
65
|
});
|
66
66
|
|
67
67
|
});
|
68
|
+
```
|
69
|
+
###試したこと(3)
|
70
|
+
シンプルに`dt`のループとコンソールだけの処理にしたのですが、同じように1回だけ`undefined`が表示されるだけでした..
|
71
|
+
|
72
|
+
```jQuery
|
73
|
+
$(function(){
|
74
|
+
$('dt').each(function(index, element){
|
75
|
+
console.log( $(this) );
|
76
|
+
console.log( index );
|
77
|
+
console.log( element );
|
78
|
+
});
|
79
|
+
});
|
68
80
|
```
|
1
試したこと(2)を訂正
title
CHANGED
File without changes
|
body
CHANGED
@@ -59,7 +59,7 @@
|
|
59
59
|
console.log(hasA); // -> undefined
|
60
60
|
|
61
61
|
// 条件に合致したら
|
62
|
-
if (
|
62
|
+
if ( hasA ) {
|
63
63
|
$(this).replaceWuith('p');
|
64
64
|
}
|
65
65
|
});
|