我想使用Javascript循环遍历一组元素,并为每个元素创建一个标签列表,所以如果元素集如下:
Title
Subheading
Paragraph of text...
它会给我以下内容:
- h1
- h2
- p
是否有可能jQuery / Javascript将元素的类型作为字符串返回,如果是这样,我将如何处理它?
这远远不是我做过的最干净的代码,但它有效:
function generateList(rootElement) { var rootElementItem = $("" + rootElement.get(0).tagName + " "); if (rootElement.children().size() > 0) { var list = $("
"); rootElement.children().each(function() { list.append(generateList($(this))); }); rootElementItem.append(list); } return rootElementItem; } var listOfElements = generateList($("body")); $("body").append($("
").append(listOfElements));
演示: http : //jsfiddle.net/jonathon/JvQKz/
它建立在之前给出的this.tagName
答案的基础上,但它也检查了孩子。 这样它将构建给定元素的分层视图。 该方法不会生成封闭的
标记,因此只能将其附加到现有标记。
我希望这个简单的解决方案有所帮助: http : //jsfiddle.net/neopreneur/n7xJC/
-html-
Title
Subheading
Paragraph of text...
-js-
$(function(){ $('body *').each(function(){ // append a 'ol' to body in order to output all tag names if(!$(this).parents('body').find('ol').length){ $('body').append('
'); } // output the name of the tag (list item) $('ol').append('' + this.tagName.toLowerCase() + ' '); }); });
假设您有一个带有body标签的正确格式的HTML文档,这可以正常工作。
例
$('
').append(function(index, html){ var ret = $(''); $('body>*').each(function(i, el) { ret.append( $('').html(this.tagName.toLowerCase()) ); }); return ret.html(); }).appendTo('body');
以上就是jQuery教程分享使用jQuery / Javascript创建集合中所有元素的列表相关内容,想了解更多jQuery开发(异常处理)及jQuery教程关注计算机技术网(www.ctvol.com)!)。
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/jquerytutorial/561397.html