形成如何从span获取div元素

时间:2017-05-06 09:00:06

标签: javascript jquery html css

我有上传图片的格式,其中包含许多div。我想得到包含span的div内部图片的名称。

<form class="dropzone dz-clickable dz-started" action="form_upload.html">
<div class="dz-preview dz-processing dz-error dz-complete dz-image-preview">
<div class="dz-image">
//skipped as it is showing complete image 
</div>
<div class="dz-details">
   <div class="dz-size">
      80kb
   </div>
   <div class="dz-filename">
     <span data-dz-name="">aust_ews.PNG</span>
   </div>
 </div>

</div>

</form>

我正在尝试获取 aust_ews.PNG 但未能获得。

以下是我的尝试:

var e =$(".dz-filename").val();//failed

var e =$("#form dz-filename").val();//failed

3 个答案:

答案 0 :(得分:3)

.val()获取值(考虑输入字段),但您需要标记之间的内容 - 您需要.html()
除此之外,您需要获取内部span的内容,而不是外部div - 否则,结果将是<span data-dz-name="">aust_ews.PNG</span>

在代码中:

var e = $('.dz-filename span').html();

如果仍然无效,请验证您是否已加载jQuery库。 您只需输入$并按Enter即可登录控制台。它应该陈述类似“功能”的东西。

ready内执行类似的操作是一种很好的做法。只是为了确保它能够按照你期望的方式工作:

$(document).ready(function()
{
  var e = $('.dz-filename span').html();
});

关于ready,请参阅jquery.com manual

答案 1 :(得分:1)

而不是

$(".dz-filename").val();

$(".dz-filename").text();

因为div中存在的html或文本不是值,它是该div的内容。你可以使用html()或text()来获得它。

val()仅适用于文本,选择,广播,复选框等输入元素,因为它会搜索value属性并将其返回。

Working Fiddle

答案 2 :(得分:1)

请检查一下。它在这里工作。我已经检查了警报。

您只需要在$(document).ready(function(){}函数中传递代码。

&#13;
&#13;
$(document).ready(function(){
var e = $(".dz-size").html();
alert(e)
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<form class="dropzone dz-clickable dz-started" action="form_upload.html">
<div class="dz-preview dz-processing dz-error dz-complete dz-image-preview">
<div class="dz-image">
//skipped as it is showing complete image 
</div>
<div class="dz-details">
   <div class="dz-size">
      80kb
   </div>
   <div class="dz-filename">
     <span data-dz-name="">aust_ews.PNG</span>
   </div>
 </div>

</div>

</form>
&#13;
&#13;
&#13;