仅从调用脚本的div中获取img

时间:2017-12-22 19:38:19

标签: javascript jquery html image

是否可以使用js onclick函数来获取图像alt而不使用id或类?

我想从这里拍摄来自呼叫的div的图像;因为你怎么看到有一个普通的div,里面有所有的元素......图像和按钮。

就像div是父,而所有其他元素都是childs,你必须只从这个div中找到img子,即使同一页上有多个相似的div。

<div id="ww10140700815" class="post-content">

<div class="col-md-7">
<img src="../im/wall/w10140700815.jpg" alt="w10140700815"/>
</div>
<div class="col-md-5">
<span class="meta">ID: w10140700815</span>
<a class="btn btn-default">Take Alt</a>
</div>

</div>
<div id="ww10140700815" class="post-content">

<div class="col-md-7">
<img src="../im/wall/w10140700815.jpg" alt="w10140700815"/>
</div>
<div class="col-md-5">
<span class="meta">ID: w10140700815</span>
<a class="btn btn-default">Take Alt</a>
</div>

</div>
<div id="ww10140700815" class="post-content">

<div class="col-md-7">
<img src="../im/wall/w10140700815.jpg" alt="w10140700815"/>
</div>
<div class="col-md-5">
<span class="meta">ID: w10140700815</span>
<a class="btn btn-default">Take Alt</a>
</div>

</div>

我使用了这个,接受img验证,但它选择了页面上的所有图像,因为我有多个div,如上所述

$("div > img:nth-child(1)").css('border', '4px solid black');

2 个答案:

答案 0 :(得分:1)

如果你的HTML结构在显示时仍然存在,你可以使用CSS选择器来隔离click事件的正确元素,以及找到相应的img元素。

// Listen for clicks on any div with the "post-content" class
$("div.post-content").on("click", function(evt){
  // Look for images that are in a child div that has a class of "col-md-7"
  var $img = $("div[class='col-md-7'] img", this);
  console.log($img.attr("alt"));  // Get its alt value
});
.btn { cursor:pointer; display:inline-block; background:#e0e0e0; border-radius:4px; padding:5px; }
.btn:hover { box-shadow:0 0 2px #909090; }
.btn:active { box-shadow:0 0 2px #303030; }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="ww10140700815" class="post-content">
  <div class="col-md-7">  
    <img src="../im/wall/w10140700815.jpg" alt="w10140700815"/>
  </div>
  <div class="col-md-5">
    <span class="meta">ID: w10140700815</span>
    <a class="btn btn-default">Take Alt</a>
  </div>
</div>
<div id="ww10140700815" class="post-content">
  <div class="col-md-7">
    <img src="../im/wall/w10140700825.jpg" alt="w10140700825"/>
  </div>
  <div class="col-md-5">
    <span class="meta">ID: w10140700825</span>
    <a class="btn btn-default">Take Alt</a>
  </div>
</div>
<div id="ww10140700815" class="post-content">
  <div class="col-md-7">
    <img src="../im/wall/w10140700835.jpg" alt="w10140700835"/>
  </div>
  <div class="col-md-5">
    <span class="meta">ID: w10140700835</span>
    <a class="btn btn-default">Take Alt</a>
  </div>
</div>

答案 1 :(得分:0)

您可以将其嵌套在获取其子项的div中,或者您可以将其添加到img中更短的时间

<div id="ww10140700815" class="post-content">

<div class="col-md-7">
<img onclick="alert(this.getAttribute('alt'))" src="../im/wall/w10140700815.jpg" alt="w10140700815"/>
</div>
<div class="col-md-5">
<span class="meta">ID: w10140700815</span>
<a class="btn btn-default">Take Alt</a>
</div>

最佳,

Dhruv直升机