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()