teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

7

テキスト修正

2018/02/17 16:30

投稿

jun68ykt
jun68ykt

スコア9058

answer CHANGED
@@ -56,15 +56,16 @@
56
56
  ---
57
57
  **備考2**
58
58
 
59
- ちょっとやってみましたが、たとえば 子7-1 をクリックしたときに、「子7-1」といテキストだけを
59
+ 上記の stackoverflow の回答を、 jsFiddle でやってみましたが、うまくいかず、
60
- 切り出しい場合、以下のようなややめんどうなことをしなければなりませんでした。
60
+ とえば 以下のようなややめんどうなことをしなければなりませんでした。
61
61
 
62
62
  [https://jsfiddle.net/jun68ykt/nfeodgr0/42/](https://jsfiddle.net/jun68ykt/nfeodgr0/42/)
63
63
 
64
64
  ---
65
65
  **備考3**
66
66
 
67
- 上記のやり方でテキストを取ってくるのは、あまりシンプルとはいえないで、
67
+ 上記のやり方でテキストを取ってくるのは、あまりシンプルとはいえないですし
68
+ stackoverflow のどの回答も簡単とは言えなさそうですので、
68
69
  回避策として、 各 `<li>` に data 属性を加えて、
69
70
 
70
71
  ```html

6

テキスト修正

2018/02/17 16:30

投稿

jun68ykt
jun68ykt

スコア9058

answer CHANGED
@@ -59,4 +59,23 @@
59
59
  ちょっとやってみましたが、たとえば 子7-1 をクリックしたときに、「子7-1」というテキストだけを
60
60
  切り出したい場合、以下のようなややめんどうなことをしなければなりませんでした。
61
61
 
62
- [https://jsfiddle.net/jun68ykt/nfeodgr0/42/](https://jsfiddle.net/jun68ykt/nfeodgr0/42/)
62
+ [https://jsfiddle.net/jun68ykt/nfeodgr0/42/](https://jsfiddle.net/jun68ykt/nfeodgr0/42/)
63
+
64
+ ---
65
+ **備考3**
66
+
67
+ 上記のやり方でテキストを取ってくるのは、あまりシンプルとはいえないので、
68
+ 回避策として、 各 `<li>` に data 属性を加えて、
69
+
70
+ ```html
71
+ <li id="4" data-text="子7-1">
72
+ 子7-1
73
+ <ul>
74
+    ・・・
75
+ ```
76
+ とすれば、取得するところは、
77
+
78
+ ```javascript
79
+ var dept_txt = $(this).data('text');
80
+ ```
81
+ で、 "子7-1" を取ってこれます。

5

テキスト修正

2018/02/17 16:22

投稿

jun68ykt
jun68ykt

スコア9058

answer CHANGED
@@ -51,4 +51,12 @@
51
51
  選ばれた `<li>` のテキストだけを取得したい場合は、
52
52
  以下の投稿が参考になるかもしれません。
53
53
 
54
- [using-text-to-retrieve-only-text-not-nested-in-child-tags](https://stackoverflow.com/questions/3442394/)
54
+ [using-text-to-retrieve-only-text-not-nested-in-child-tags](https://stackoverflow.com/questions/3442394/)
55
+
56
+ ---
57
+ **備考2**
58
+
59
+ ちょっとやってみましたが、たとえば 子7-1 をクリックしたときに、「子7-1」というテキストだけを
60
+ 切り出したい場合、以下のようなややめんどうなことをしなければなりませんでした。
61
+
62
+ [https://jsfiddle.net/jun68ykt/nfeodgr0/42/](https://jsfiddle.net/jun68ykt/nfeodgr0/42/)

4

テキスト修正

2018/02/17 16:10

投稿

jun68ykt
jun68ykt

スコア9058

answer CHANGED
@@ -41,13 +41,13 @@
41
41
  以上参考になれば幸いです。
42
42
 
43
43
  ---
44
- 備考
44
+ **備考**
45
45
 
46
46
  以下の部分
47
47
  ```javascript
48
48
  var dept_txt = $(this).text();
49
49
  ```
50
- で、 `.text()` は子要素のテキストをすべて拾ってきてしまいますが、
50
+ で、 `.text()` は子要素のテキストも含めて拾ってきてしまいますが、
51
51
  選ばれた `<li>` のテキストだけを取得したい場合は、
52
52
  以下の投稿が参考になるかもしれません。
53
53
 

3

テキスト修正

2018/02/17 15:42

投稿

jun68ykt
jun68ykt

スコア9058

answer CHANGED
@@ -38,4 +38,17 @@
38
38
  上記で、 `event.stopPropagation();` がないと、上の階層の `<li>` にも
39
39
  click イベントが伝播されてしまい意図している動作になりません。
40
40
 
41
- 以上参考になれば幸いです。
41
+ 以上参考になれば幸いです。
42
+
43
+ ---
44
+ 備考
45
+
46
+ 以下の部分
47
+ ```javascript
48
+ var dept_txt = $(this).text();
49
+ ```
50
+ で、 `.text()` は子要素のテキストをすべて拾ってきてしまいますが、
51
+ 選ばれた `<li>` のテキストだけを取得したい場合は、
52
+ 以下の投稿が参考になるかもしれません。
53
+
54
+ [using-text-to-retrieve-only-text-not-nested-in-child-tags](https://stackoverflow.com/questions/3442394/)

2

テキスト修正

2018/02/17 15:41

投稿

jun68ykt
jun68ykt

スコア9058

answer CHANGED
@@ -27,8 +27,8 @@
27
27
 
28
28
  ```javascript
29
29
  $("div > ul").on('click', 'li', function(event){
30
- var dept_txt = $(this,"li").text();
30
+ var dept_txt = $(this).text();
31
- var dept_id = $(this,"li").attr('id');
31
+ var dept_id = $(this).attr('id');
32
32
  alert(dept_txt);
33
33
  alert(dept_id);
34
34
 

1

テキスト修正

2018/02/17 15:24

投稿

jun68ykt
jun68ykt

スコア9058

answer CHANGED
@@ -11,7 +11,7 @@
11
11
 
12
12
  これを以下のように修正しました。
13
13
 
14
- 修正後: [https://jsfiddle.net/jun68ykt/nfeodgr0/9/](https://jsfiddle.net/jun68ykt/nfeodgr0/9/)
14
+ 修正後: [https://jsfiddle.net/jun68ykt/nfeodgr0/12/](https://jsfiddle.net/jun68ykt/nfeodgr0/12/)
15
15
 
16
16
  修正した部分は、
17
17
  ```javascript