簡體   English   中英

如何獲取img的ID,然后使用它來更改DIV的內容

[英]How to get ID of img and then use that to change contents of DIV

好的,所以我有一系列圖像,當單擊這些圖像時,將使用該圖像的ALT文本更改DIV的內容。 這是該代碼-

$(function() {
  $('#dalton').click(function() {
    var alt = $(this).attr('alt');
    $('.article_desc').html(alt);
  });

  $('#rutherford').click(function() {
    var alt = $(this).attr('alt');
    $('.article_desc').html(alt);
  });

});

而且我的工作效果還不錯,但是問題是,如果頁面中有多個圖像,我該如何優化代碼,而不必為每個圖像重復它?

我考慮過為圖片ID設置一個變量-

$(function() {
$('img').click(function() {
var imgid = this.id;

但是我不知道如何將兩者結合在一起。

編輯:這是該部分的HTML:

 <section class="section1"> <article> <ul> <li><img src="plumpudding.gif" id="dalton" alt="Lorem ipsum dolor sit amet"></li> <li><img src="rutherford.png" id="rutherford" alt="Lorem ipsum dolor sit amet, consectetur adipisicing elit</li> <li><img src="bohr.gif" id="bohr" alt="Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi"></li> </ul> <div class="clearfix"></div> <div class="article_desc" id="article_desc">Click on the picture for description.</div> </article> </section> 

嘗試此操作。...以便您可以獲得所有單擊的圖像alt信息。請注意,所有img標簽必須具有class='image'並為要顯示alt信息的文本區域id= 'article_desc'定義id。

$('.image').click(function() {
    var alt = $(this).attr('alt');
    $('#article_desc').append(alt);
});

在此處創建命名函數可能會有所幫助。

$(function () {
    $("#dalton").click(setDescriptionToAlt);
    $('#rutherford').click(setDescriptionToAlt);

    // OR use a class given to each element.

    $(".image-with-alt").click(setDescriptionToAlt);
});

function setDescriptionToAlt() {
    var alt = $(this).attr("alt");
    $(".article_desc").html(alt);
}

通過使用命名函數,您只需要引用它即可,而不必每次都復制內聯匿名函數。 從那里,您可以決定對所需的每個元素ID進行一次click事件,或者可以為要受影響的每個元素分配一個類,並使用該類。

使用類名代替元素的id

$('.image').click(function() {
    var alt = $(this).attr('alt');
    $('.article_desc').html(alt);
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM