Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/447.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery获取跨度的文本内容_Javascript_Jquery_Jquery Selectors_Dropzone.js_Parents - Fatal编程技术网

Javascript jQuery获取跨度的文本内容

Javascript jQuery获取跨度的文本内容,javascript,jquery,jquery-selectors,dropzone.js,parents,Javascript,Jquery,Jquery Selectors,Dropzone.js,Parents,我正在尝试在Dropzone.js中编写一个delete函数。为了做到这一点,我需要文件上传方式的id 我试图获得一个对象的属性,但没有成功。现在,我尝试使用jQuery获取包含它的span的值或文本内容 这是该结构的屏幕截图。我正在尝试的jQuery代码是: var loooot = $(".dz-filename").parents('span').text(); 更具体地说,我试图得到数字1_1477778745352(这是一个时间戳) Dropzone代码如下所示: <scri

我正在尝试在Dropzone.js中编写一个delete函数。为了做到这一点,我需要文件上传方式的id

我试图获得一个对象的属性,但没有成功。现在,我尝试使用jQuery获取包含它的span的值或文本内容

这是该结构的屏幕截图。我正在尝试的jQuery代码是:

var loooot = $(".dz-filename").parents('span').text();
更具体地说,我试图得到数字1_1477778745352(这是一个时间戳)

Dropzone代码如下所示:

<script>

var listing_id = "1"; 

// these are the setting for the image upload
Dropzone.options.pud = {
acceptedFiles: ".jpeg,.jpg,.png,.gif",
uploadMultiple: false,
paramName: "file", // The name that will be used to transfer the file
maxFilesize: 1, // MB
addRemoveLinks: true,
maxFiles: 10,
renameFilename: function (filename) {return listing_id + '_' + new Date().getTime();},
init: function() 
{
this.on("removedfile", function(file) 
  { 
  var loooot = $("span", ".dz-filename").html();
  alert(loooot);
  });
}
};
</script>

var清单_id=“1”;
//这些是图像上载的设置
Dropzone.options.pud={
接受的文件:“.jpeg、.jpg、.png、.gif”,
uploadMultiple:false,
paramName:“file”,//将用于传输文件的名称
maxFilesize:1,//MB
addRemoveLinks:是的,
最大文件数:10,
renameFilename:函数(文件名){返回清单_id+'.'+new Date().getTime();},
init:function()
{
此.on(“removedfile”,函数(文件)
{ 
var looot=$(“span”,“.dz filename”).html();
警惕(looot);
});
}
};
使用:

工作

var looot=$(“span”,“.dz filename”).html();
警惕(looot)

试验

由于dropzone可以动态工作,因此无法定义,请使用以下方法:

$('body').find(".dz-filename").find('span').text();
最好的方法是声明dropzone:

//first declare somewhere variable
var my_drop;

// then on creating dropzone:
my_drop = new Dropzone('.dropzone', { 
/* your setup of dropzone */ 
});
然后,您可以使用以下内容检索有关文件的信息:

my_drop.files[0].name

[0]
表示用户的第一个文件,如果有多个文件,可以循环使用它们。

尝试使用JQuery的
.text()以获取内部文本
更新:与DOM
.ready()
一起使用

深度选择器

$(document).ready(function(){
  var fname = $("#pud .dz-filename span [data-dz-name]").text();
});
或者(如果您的表单是动态的)


然后使用
get_fname()

我找到的工作解决方案是:

init: function() 
  {
  this.on("removedfile", function(file) 
    { 
    var loooot = $(file.previewElement).find('[data-dz-name]').text();
    alert(loooot);
    });
  }

变量looot返回为UndefinedIt,可能在动态创建Dropzone时返回Undefined。您的示例之所以有效,是因为它是静态的。这是我最好的解释。你能修改你的答案,使其与动态创建的元素一起工作吗?我已经编辑了这个问题,但你必须向我展示你如何设置时间戳,或者你可以通过回调来构建函数。如果是这样的话,从
主体开始
不会有多大帮助。你无法得到不存在的东西。它在主体上,它是在dom就绪后创建的,所以你不能用
dz filename
的类名来获得它,然后你应该用变量定义你的Dropzone并使用Dropzone:
Dropzone\u变量。文件[0]。name
你的表单是动态的吗?这部分是动态的。这是如何动态的?从ajax或单击或..创建?当我上传10个图像时,它们中的每一个都会得到您在屏幕截图中看到的结构。在图像未上载之前,它们不存在。因此,您必须等待图像加载,然后使用
var f=get_fname()如上更新的
file.name
应该在
removedfile
的回调中保留文件名,这实际上是我尝试的第一件事,但它会在重命名之前返回上载文件的名称。重命名后,当我将鼠标悬停在图像缩略图上时,我可以看到ney名称,但我无法获得新的重命名名称。但您可以将其保存到dropzone,在上载为I doThanks后,我接受了您的答案。
function get_fname(){
return $("#pud .dz-filename span [data-dz-name]").text();
}
init: function() 
  {
  this.on("removedfile", function(file) 
    { 
    var loooot = $(file.previewElement).find('[data-dz-name]').text();
    alert(loooot);
    });
  }