查找未被任何HTML标记包围的文本

查找未被任何HTML标记包围的文本,html,css,Html,Css,嗨,我有一个非常独特的要求。我需要从一个div中找出一个没有被任何标记包围的文本,然后一旦我有了它,我需要用一个div包围它,并给它一个CSS类 例如: <div class="pagingCss" id="footer"> <a href="/XXX/Home/Results?page=1">1</a> <a href="/XXX/Home/Results?page=6">6</a> 7

嗨,我有一个非常独特的要求。我需要从一个div中找出一个没有被任何标记包围的文本,然后一旦我有了它,我需要用一个div包围它,并给它一个CSS类

例如:

<div class="pagingCss" id="footer">
    <a href="/XXX/Home/Results?page=1">1</a>        
    <a href="/XXX/Home/Results?page=6">6</a>
    7 
    <a href="/XXX/Home/Results?page=8">8</a>        
</div>

7.
所以我想让我的代码做的是找到这个数字7(在本例中),然后用一个span标记和一个类围绕它,如:

<div class="pagingCss" id="footer">
    <a href="/XXX/Home/Results?page=1">1</a>        
    <a href="/XXX/Home/Results?page=6">6</a>
    <span class="someClass">7</span>
    <a href="/XXX/Home/Results?page=8">8</a>        
</div>

7.
我所做的一切都是因为我只是不能为无标签文本获得正确的间距,你可以在所附的屏幕截图中看到

链接到屏幕截图:


函数加载(){
var footer=document.getElementById(“footer”);
var toFind=“7”
对于(i=0;i您需要使用

:not([href]){
 color:red;
}
你可以试试这个

var footer = document.getElementById("footer");
var nodes=footer.childNodes;
for(i=0;i<nodes.length;i++)
{
    if(parseInt(nodes[i].nodeValue)>0) 
    {
        var span = document.createElement("span")
        span.setAttribute("class","active");
        span.appendChild(document.createTextNode(nodes[i].nodeValue));
        footer.replaceChild(span , nodes[i]);
    }
}
var footer=document.getElementById(“footer”);
var节点=footer.childNodes;
对于(i=0;i0)
{
var span=document.createElement(“span”)
span.setAttribute(“类”、“活动”);
appendChild(document.createTextNode(nodes[i].nodeValue));
replaceChild(span,节点[i]);
}
}

这是一把小提琴。

为什么不检查并修复呈现导航的服务器端代码呢?一个更简单的解决方案是将
a
标记添加到所有数字中,并根据是否可以选择来更改每个锚点上的类。事实上,
7
标记包围。如果必须这样做的话它只在寻呼机上,对于
(而不是任何标记)之外的文本,请更清楚。检查我的答案,希望这是您分页所需的内容。我正在使用MVC 3 Razor WebGrid进行此操作。这是我的WebGrid.pager()方法呈现的内容。哇,我从来不知道这一点,我可以将其与pagingCss:not([href]){这样的特定类一起使用吗那有可能吗。
var footer = document.getElementById("footer");
var nodes=footer.childNodes;
for(i=0;i<nodes.length;i++)
{
    if(parseInt(nodes[i].nodeValue)>0) 
    {
        var span = document.createElement("span")
        span.setAttribute("class","active");
        span.appendChild(document.createTextNode(nodes[i].nodeValue));
        footer.replaceChild(span , nodes[i]);
    }
}