回答編集履歴

4

ソースの修正

2018/02/17 07:27

投稿

kszk311
kszk311

スコア3404

test CHANGED
@@ -110,11 +110,11 @@
110
110
 
111
111
  var user = dir;
112
112
 
113
- $('chimg').each(function(){
113
+ $('.chimg').each(function(){
114
114
 
115
115
  //タグ取得
116
116
 
117
- var tag = $(this).get(0).tagName;
117
+ var tag = $(this).get(0).tagName.toLowerCase();
118
118
 
119
119
 
120
120
 

3

変な表示になったのでサイド変更

2018/02/17 07:27

投稿

kszk311
kszk311

スコア3404

test CHANGED
@@ -74,6 +74,8 @@
74
74
 
75
75
  指定したセレクターの分だけ、処理がされます。
76
76
 
77
+
78
+
77
79
  ---
78
80
 
79
81
  **videoのposter,sourceのほうも変更する**

2

videoのposterやsourceも変更した処理を追加しました

2018/02/17 07:05

投稿

kszk311
kszk311

スコア3404

test CHANGED
@@ -73,3 +73,69 @@
73
73
  $('img.chimg')の部分は、$('img#chimg1, img#chimg2')でも
74
74
 
75
75
  指定したセレクターの分だけ、処理がされます。
76
+
77
+ ---
78
+
79
+ **videoのposter,sourceのほうも変更する**
80
+
81
+
82
+
83
+ srcやposterなどの変更用のクラスはタグが違うだけで、基本的には同じ処理をするので、
84
+
85
+ タグを判定し、同じ記述が重ならないようにしたほうが良いのかなと思います。
86
+
87
+
88
+
89
+ ```html
90
+
91
+ <img src="data/A/sample1-1.png" alt="" width="100%" height="100%" class="chimg" />
92
+
93
+ <img src="data/A/sample1-2.png" alt="" width="100%" height="100%" class="chimg" />
94
+
95
+ <video controls width="100%" height="100%" poster="data/A/sample2-1.png" id="chvid" class="chimg">
96
+
97
+  <source src="data/A/sample2-2.mp4" class="chimg">
98
+
99
+ </video>
100
+
101
+ ```
102
+
103
+
104
+
105
+ ```javascript
106
+
107
+ function changeUser(dir, imgid, vidid) {
108
+
109
+ var user = dir;
110
+
111
+ $('chimg').each(function(){
112
+
113
+ //タグ取得
114
+
115
+ var tag = $(this).get(0).tagName;
116
+
117
+
118
+
119
+ changeTag = 'src';
120
+
121
+ //videoなら対象のタグをposterにする
122
+
123
+ if(tag == 'video'){
124
+
125
+ changeTag = 'poster';
126
+
127
+ }
128
+
129
+
130
+
131
+ var imgSrc = $(this).attr(changeTag).split('/');
132
+
133
+ var chpath = $(this).attr(changeTag).replace(imgSrc[1], user);
134
+
135
+ $(this).attr(changeTag, chpath);
136
+
137
+ })
138
+
139
+ };
140
+
141
+ ```

1

問題の意図を間違えておりましたので、編集しました

2018/02/17 07:04

投稿

kszk311
kszk311

スコア3404

test CHANGED
@@ -37,3 +37,39 @@
37
37
  $("img#chimg1").eq(0).attr('src', chpath);
38
38
 
39
39
  ```
40
+
41
+
42
+
43
+ ---
44
+
45
+ 問題の意図を間違えておりました。
46
+
47
+ eachで回せば、個別に変更できます。
48
+
49
+
50
+
51
+ ```javascript
52
+
53
+ function changeUser(dir, imgid, vidid) {
54
+
55
+ var user = dir;
56
+
57
+ $('img.chimg').each(function(){
58
+
59
+ var imgSrc = $(this).attr('src').split('/');
60
+
61
+ var chpath = $(this).attr('src').replace(imgSrc[1], user);
62
+
63
+ $(this).attr('src', chpath);
64
+
65
+ })
66
+
67
+ };
68
+
69
+ ```
70
+
71
+
72
+
73
+ $('img.chimg')の部分は、$('img#chimg1, img#chimg2')でも
74
+
75
+ 指定したセレクターの分だけ、処理がされます。