Javascript jQuery获取跨度的文本内容
我正在尝试在Dropzone.js中编写一个delete函数。为了做到这一点,我需要文件上传方式的id 我试图获得一个对象的属性,但没有成功。现在,我尝试使用jQuery获取包含它的span的值或文本内容 这是该结构的屏幕截图。我正在尝试的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
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);
});
}