Javascript在元素中获取文本

我需要获取元素内的文本。

我只能抓住这个元素的类而不是ID。

test.png 

所以我需要一种方法来获取test.png ,但是如你所见,我只有元素的类而不是ID。

请注意,我们可能有更多 ,所以它看起来像这样

 test1.png test2.png test3.png test4.png 

在我们有更多的情况下,比如上面的例子,我需要获取所有值而不仅仅是一个,因为我需要将此值传递给另一个使用jQuery的页面。 所以它应该能够从该元素中获得一个或多个值。

请帮忙!

而且我也不是一个JavaScript专家!

 var filenames = $('.fileName').map(function(){ return $(this).text(); }).get(); 

数组filenames名将包含图像的所有名称。 您可以将此数组传递给另一个jQuery函数,或者您喜欢的其他任何地方。

你可以在这里测试»

更新

由于您请求文件名是由逗号分隔的字符串,您可以这样做:

 var filenames = $('.fileName').map(function(){ return $(this).text(); }).get().join(','); 

现在, filenames名将包含字符串test1.png,test2.png,test3.png,test4.png

使用document.getElementsByClassName : http : //jsfiddle.net/pCswS/ 。

 var elems = document.getElementsByClassName("fileName"); var arr = []; for(var i = 0; i < elems.length; i++) { arr.push(elems[i].innerHTML); } alert(arr); 

(由于你没有用jQuery标记问题,我假设你必须使用普通的JavaScript。)

 $('span.fileName').each(function() { var fileName = $(this).text(); doSomethingWithFileName(fileName); }); 

这里, span.fileName选择器返回带有类fileName的所有跨度,然后我们遍历,从每个跨越读取文本。 您可能希望首先找到一个容器元素,然后只在其中迭代,例如

 var $container = $('#myFileNames'); $container.find('span.fileName').each( ... ); 

这是我的看法:

 var spans = document.getElementsByClassName('fileName'); var values = []; for(var i = 0; i < spans.length; i++) { values.push(spans[i].innerHTML); } // Example of processing: alert the values alert(values); 

使用以下jQuery选择器

 $("span.fileName").html()