Как изменить "src" изображения (с несколькими идентификаторами), используя JQuery - PullRequest
0 голосов
/ 27 декабря 2018

Я пытался изменить атрибут src изображения, используя jquery

Этот тег изображения имеет несколько идентификаторов, а именно blah1 и one

Мне нужны этидва идентификатора для разных целей.Так что, не меняя или не удаляя идентификатор, как мне этого добиться?

Я пытался, но это не сработало.

Вот мой HTML

<div class="col-md-3 col-sm-6 col-6 ad-image">
       <label for="file1">
             <img id="blah1 one" src="http://placehold.it/500" alt="..." class="img-thumbnail">
             <input type="button" value="Remove Photo" style="margin-top: 5px;" class="btn btn-danger btn-sm" id="image-remove-btn-1">
             <small id="textCount" class="form-text text-center bold">Thumbnail</small>
       </label>
 </div>

А вот и мой jquery

    <script type="text/javascript">
                function showImages() {
                    $("#one").attr("src", "http://placehold.it/200");
//                    $(':input').css('border', '1px solid red');
                }
            </script>

Но это не работает. Он работает только с одним идентификатором , но у меня действительно 2 идентификатора, как указано выше.

Ответы [ 2 ]

0 голосов
/ 27 декабря 2018
 function showImages() {
      $("#one, #two, #three").attr("src", "http://placehold.it/200");
 }

Вы можете задать селектор списка через запятую.

0 голосов
/ 27 декабря 2018

Вы можете выбрать элемент с несколькими идентификаторами, но это чревато проблемами и может легко сломаться.Это также очень плохая практика, поскольку она идет вразрез с четко определенными и ожидаемыми стандартами.

Тем не менее, при этом будет выбран элемент, указанный в вашем описании, но только , если идентификатор точно такой, как вы опубликовали.Если 2 значения ID поменяются местами, это перестанет работать.

$("[id='blah1 one']").attr("src", "http://placehold.it/200");
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<img id="blah1 one" />

Эта строка JS вернет любой элемент с атрибутом ID значения blah1 one.Если их больше 1, он выберет и изменит их все.Иногда полезно знать, как выбирать по значениям атрибута, но это плохой пример.

Реально, вы должны решить реальную проблему, которая заключается в том, что у вас есть 2 значения идентификатора для элемента.Если вы решите эту проблему сегодня, это еще не значит, что она все равно будет работать завтра.

Примечание: Как указано в комментариях Таплара, следующее дало бы тот же результат и привело бы кдля изменения идентификатора, но все еще содержащего отличное значение «один» ...

$("[id~='one']")

Это намного надежнее, но я все же говорю, что настоящая проблема должна быть решена, так как нет способа узнать, что будетпроизойдет в будущем, если вы сделаете что-то столь принципиально неправильное сейчас.

...