gpt4 book ai didi

javascript - 使用 Razor 和 MVC3 的 webgrid 寻呼机方法的 CSS 修复

转载 作者:数据小太阳 更新时间:2023-10-29 05:23:39 25 4
gpt4 key购买 nike

我将 MVC3 与 Razor 一起使用,为了显示网格,我使用了 WebGrid,为了对这个网格进行分页,我使用了以下代码。

我的问题:分页按钮在被选中/单击和未被选中/单击时都应保持相同的大小。

我有一些 css 问题,我使用 CSS 和 javascript 来实现我的客户想要的设计我已经在 this 复制了它 fiddle 链接 http://fiddle.jshell.net/Z5L4g/

Razor 代码

@grid.Pager(mode: WebGridPagerModes.All, numericLinksCount: 15, firstText: "<<", lastText: ">>", previousText: "<", nextText: ">")

我的 CSS 代码 body { 字体系列:Calibri; 背景颜色: #D8D8D8; 顶部边距:0px; 文字装饰:无;

    #footer:not([href]) {
letter-spacing: 0px;
}

#footer {
text-align: center;
margin-top: 10px;
}

.pagingCss {
font-size: 13px;
}

.whiteBox {
background-color:
white;
color:
black;
padding-right: 7px;
padding-left: 7px;
padding-top: 4px;
padding-bottom: 4px;
text-decoration: none;
margin-top: 10px;
letter-spacing: 0px;
}

.blackBox {
background-color:
black;
color:
white;
padding-right: 7px;
padding-left: 7px;
padding-top: 4px;
padding-bottom: 4px;
text-decoration: none;
margin-top: 10px;
letter-spacing: 0px;
}

.pagingCss a {
font-size: 13px;
color: white;
text-decoration:none;
}

我用过的Javascript代码

    var keywords = ['>>', '<<', '<', '>'];

function linklabels() {

var footerDiv = document.getElementById('footer');
var oldLinks = footerDiv.getElementsByTagName('A');

var oldLinksCount = oldLinks.length;
var keywordsCount = keywords.length;

for (var i = 0; i < oldLinks.length; i++) {

if (oldLinks[i].firstChild.nodeValue == '>>' || oldLinks[i].firstChild.nodeValue == '<<' || oldLinks[i].firstChild.nodeValue == '>' || oldLinks[i].firstChild.nodeValue == '<') {
var my_div = null;
var newDiv = null;

var newDiv = document.createElement("span");
var newContent = document.createTextNode(oldLinks[i].firstChild.nodeValue);
newDiv.appendChild(newContent);
newDiv.className = "whiteBox";

oldLinks[i].firstChild.nodeValue = "";

oldLinks[i].appendChild(newDiv);
}
else {
var my_div = null;
var newDiv = null;

var newDiv = document.createElement("span");
var newContent = document.createTextNode(oldLinks[i].firstChild.nodeValue);
newDiv.appendChild(newContent);
newDiv.className = "blackBox";

oldLinks[i].firstChild.nodeValue = "";

oldLinks[i].appendChild(newDiv);
}

} // end of for

// footer

}
window.onload = linklabels;

下面是使用上述代码后我的 HTML 是如何呈现的 Here is how it look

代码呈现为下面的html

<div id="footer" class="pagingCss">

<a href="/CompanySearch/Home/Results?page=1">
<span class="whiteBox">&lt;&lt;</span>
</a>

<a href="/CompanySearch/Home/Results?page=5">
<span class="whiteBox">&lt;</span>
</a>

<a href="/CompanySearch/Home/Results?page=1">
<span class="blackBox">1</span>
</a>

<a href="/CompanySearch/Home/Results?page=2">
<span class="blackBox">2</span>
</a>

<a href="/CompanySearch/Home/Results?page=3">
<span class="blackBox">3</span>
</a>

<a href="/CompanySearch/Home/Results?page=4">
<span class="blackBox">4</span>
</a>

<a href="/CompanySearch/Home/Results?page=5">
<span class="blackBox">5</span>
</a>

6 <a href="/CompanySearch/Home/Results?page=7">
<span class="blackBox">7</span>
</a>

<a href="/CompanySearch/Home/Results?page=8">
<span class="blackBox">8</span>
</a>

<a href="/CompanySearch/Home/Results?page=9">
<span class="blackBox">9</span>
</a>

<a href="/CompanySearch/Home/Results?page=10">
<span class="blackBox">10</span>
</a>

<a href="/CompanySearch/Home/Results?page=7">
<span class="whiteBox">&gt;</span>
</a>

<a href="/CompanySearch/Home/Results?page=10">
<span class="whiteBox">&gt;&gt;</span>
</a>
</div>​

我知道必须有一些非常简单的方法或技巧来做到这一点,但我找不到...请帮我解决这个问题。

最佳答案

正如我在评论中所说,

不要试图治愈症状。在你的情况下,CSS 修复不会解决问题,因为 there is no selector for text nodes .

一个快速的 jquery 修复可以解决这个问题:

$(function() {  
$("#footer").contents().filter(function() {

var $this = $(this);
return $this.children().length == 0 && $.trim($this.text()).length > 0;

}).wrap("<span class='selectedBox' />");
});

这将用一个带有类 selectedBox 的跨度包装你的单独的文本元素,你必须为其添加一些 css。 You can see it in action here.

更新 here is a complete solution这也替换了您的链接标签 javascript 代码:

function isNumber(n) {
return !isNaN(parseFloat(n)) && isFinite(n);
}

$(function() {
$("#footer a").contents().wrap("<span class='blackBox' />");
$("#footer").find("a span").each(function(){
var val = $.trim($(this).text());
if (!isNumber(val))
$(this).attr('class', 'whiteBox');
});

$("#footer").contents().filter(function() {

var $this = $(this);
return $this.children().length == 0 && $.trim($this.text()).length > 0;

}).wrap("<span class='whiteBox' />");
});

关于javascript - 使用 Razor 和 MVC3 的 webgrid 寻呼机方法的 CSS 修复,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11009739/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com