Javascript 使用所有类的列表时删除特定DIV的css
我从stackoverflow中找到以下代码:Javascript 使用所有类的列表时删除特定DIV的css,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我从stackoverflow中找到以下代码: <script type="text/javascript"> var allTags = document.body.getElementsByTagName('*'); var classNames = {}; for (var tg = 0; tg< allTags.length; tg++) { var tag = allTags[tg]; if (tag.className) { var cla
<script type="text/javascript">
var allTags = document.body.getElementsByTagName('*');
var classNames = {};
for (var tg = 0; tg< allTags.length; tg++) {
var tag = allTags[tg];
if (tag.className) {
var classes = tag.className.split(" ");
for (var cn = 0; cn < classes.length; cn++){
var cName = classes[cn];
if (! classNames[cName])
{
classNames[cName] = true;
}
}
}
}
var classList = [];
for (var name in classNames)
classList.push(name+'<br />');
document.getElementById('allclasses').innerHTML = classList.sort();
</script>
var allTags=document.body.getElementsByTagName('*');
var classNames={};
对于(var tg=0;tg ');
document.getElementById('allclasses').innerHTML=classList.sort();
上面的方法非常好,但仅仅是针对课堂,ID呢
现在有一个场景是这样使用div的:
<div class="head">
internal divs having classes, IDs should be ignored --
</div>
<div class="footer">
internal divs having classes, IDs should be ignored --
</div>
应忽略具有类、ID的内部div--
应忽略具有类、ID的内部div--
我在问如何对代码进行上述更改,因为我对Javascript很笨,我需要让它作为给定的任务工作。假设您只需要一个列表,如果ID(如类列表)有jQuery版本,则需要一个列表 JSFiddle: jQuery中的ID版本:
var ids = {};
$('[id]').each(function () {
var id = this.id;
ids[id] = id;
});
var idList = [];
for (var id in ids) {
idList.push(id + '<br />');
}
$('#allids').html(idList.sort());
你想要一个jQuery解决方案(短得多),还是说
jQuery
标记一个意外事件?如果jQuery是一个解决方案,我想知道是的,它检查所有具有关联类的html元素,并将它们添加到一种列表中,你也想要一个id列表?我不确定我是否理解你的问题。谢谢@TrueBlueAusie,但是如果我不需要在搜索的ID和类中包含页眉和页脚,那么代码的第二部分呢,就像上面的问题内部div中包含的类,应该忽略ID——内部div有类,应该忽略ID——
@奇偶算法:即使有你的新评论,我仍然不理解问题的这一部分。你能用另一种方式解释吗?可能有一个预期结果的示例?看起来您只是希望jQuerytext()
方法获取内部文本?你想提取什么?我不想包括head和footer div以及其中的任何内容,这是很简单的all@odd_even_algorithm:添加了适当的筛选器并尝试解释其工作方式。
var ids = {};
$('[id]:not([class=header]):not([class=footer]):not([class=header] *):not([class=footer] *)').each(function () {
var id = this.id;
ids[id] = id;
});
var idList = [];
for (var id in ids) {
idList.push(id + ' <br/>');
}
$('#allids ').html(idList.sort());