我刚开始进入JQuery,所以如果这是一个简单的问题,我提前道歉。如何以编程方式使用JQuery翻转元素属性的值?
我正在与A List Apart article on Print Previews一起尝试在我正在处理的webapp中获得实时打印预览。我已经得到了令人满意的工作,但我现在试图将我的代码重构为我认为应该看起来像内部的东西。我目前有两套方法,一种用于显示显微镜块,另一种用于去除它。我宁愿只有一组切换正在讨论的元素的适当值。
对于意味着禁用非打印预览页并启用打印预览页的CSS,反之亦然。对于我的显微镜来说,这意味着将display
设置为block
而不是none
,反之亦然。
至少对于样式表链接,我想简单地遍历相关的link
元素的集合并将disabled
设置为!disabled
,但我无法弄清楚如何做到这一点。我使用的是jQuery,但我并不反对低于这个抽象级别。
我假设一旦我知道如何做到这一点的link
元素,我应该能够扩展解决方案,以切换显微镜div的display
属性。
这是我目前的职能为好奇:
function printPreview() {
$("link[rel*='style'][media!='print'").attr("disabled", true);
$("link[rel*='style'][title='print preview']").attr("disabled", false);
addPrintPreviewMicrocopy();
}
function addPrintPreviewMicrocopy() {
$("div[id='print-preview-microcopy']").css({'display':'block'});
}
function normalView() {
$("link[rel*='style'][media!='print'").attr("disabled", false);
$("link[rel*='style'][title='print preview']").attr("disabled", true);
removePrintPreviewMicrocopy();
}
function removePrintPreviewMicrocopy() {
$("div[id='print-preview-microcopy']").css({'display':'none'});
}
提前感谢!
谢谢大家。这是我的最终解决方案:
function toggleView() {
$("link[rel*='style'][media!='print']").each(function() {
this.disabled = !this.disabled;
});
}
事实证明,我甚至不需要切换div作为单独的样式表做到这一点。
谢谢!这适用于显微镜div。我的代码最终是'$(“#print-preview-microcopy”)。toggle()'。 – 2009-12-15 16:23:35