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

回答編集履歴

4

ソースの修正

2018/02/17 07:27

投稿

kszk311
kszk311

スコア3404

answer CHANGED
@@ -54,9 +54,9 @@
54
54
  ```javascript
55
55
  function changeUser(dir, imgid, vidid) {
56
56
  var user = dir;
57
- $('chimg').each(function(){
57
+ $('.chimg').each(function(){
58
58
  //タグ取得
59
- var tag = $(this).get(0).tagName;
59
+ var tag = $(this).get(0).tagName.toLowerCase();
60
60
 
61
61
  changeTag = 'src';
62
62
  //videoなら対象のタグをposterにする

3

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

2018/02/17 07:27

投稿

kszk311
kszk311

スコア3404

answer CHANGED
@@ -36,6 +36,7 @@
36
36
 
37
37
  $('img.chimg')の部分は、$('img#chimg1, img#chimg2')でも
38
38
  指定したセレクターの分だけ、処理がされます。
39
+
39
40
  ---
40
41
  **videoのposter,sourceのほうも変更する**
41
42
 

2

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

2018/02/17 07:05

投稿

kszk311
kszk311

スコア3404

answer CHANGED
@@ -35,4 +35,37 @@
35
35
  ```
36
36
 
37
37
  $('img.chimg')の部分は、$('img#chimg1, img#chimg2')でも
38
- 指定したセレクターの分だけ、処理がされます。
38
+ 指定したセレクターの分だけ、処理がされます。
39
+ ---
40
+ **videoのposter,sourceのほうも変更する**
41
+
42
+ srcやposterなどの変更用のクラスはタグが違うだけで、基本的には同じ処理をするので、
43
+ タグを判定し、同じ記述が重ならないようにしたほうが良いのかなと思います。
44
+
45
+ ```html
46
+ <img src="data/A/sample1-1.png" alt="" width="100%" height="100%" class="chimg" />
47
+ <img src="data/A/sample1-2.png" alt="" width="100%" height="100%" class="chimg" />
48
+ <video controls width="100%" height="100%" poster="data/A/sample2-1.png" id="chvid" class="chimg">
49
+  <source src="data/A/sample2-2.mp4" class="chimg">
50
+ </video>
51
+ ```
52
+
53
+ ```javascript
54
+ function changeUser(dir, imgid, vidid) {
55
+ var user = dir;
56
+ $('chimg').each(function(){
57
+ //タグ取得
58
+ var tag = $(this).get(0).tagName;
59
+
60
+ changeTag = 'src';
61
+ //videoなら対象のタグをposterにする
62
+ if(tag == 'video'){
63
+ changeTag = 'poster';
64
+ }
65
+
66
+ var imgSrc = $(this).attr(changeTag).split('/');
67
+ var chpath = $(this).attr(changeTag).replace(imgSrc[1], user);
68
+ $(this).attr(changeTag, chpath);
69
+ })
70
+ };
71
+ ```

1

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

2018/02/17 07:04

投稿

kszk311
kszk311

スコア3404

answer CHANGED
@@ -17,4 +17,22 @@
17
17
  var imgSrc = $("img.chimg").eq(0).attr('src').split('/');
18
18
  var chpath = $("img.chimg").eq(0).attr('src').replace(imgSrc[1], user);
19
19
  $("img#chimg1").eq(0).attr('src', chpath);
20
- ```
20
+ ```
21
+
22
+ ---
23
+ 問題の意図を間違えておりました。
24
+ eachで回せば、個別に変更できます。
25
+
26
+ ```javascript
27
+ function changeUser(dir, imgid, vidid) {
28
+ var user = dir;
29
+ $('img.chimg').each(function(){
30
+ var imgSrc = $(this).attr('src').split('/');
31
+ var chpath = $(this).attr('src').replace(imgSrc[1], user);
32
+ $(this).attr('src', chpath);
33
+ })
34
+ };
35
+ ```
36
+
37
+ $('img.chimg')の部分は、$('img#chimg1, img#chimg2')でも
38
+ 指定したセレクターの分だけ、処理がされます。