【问题标题】:Writing Html With CSS in JQuery在 JQuery 中使用 CSS 编写 Html
【发布时间】:2012-06-25 20:11:31
【问题描述】:

在我的 HTML 页面中,我想根据计数显示特定数量的按钮。所以我过去常常动态显示这些按钮。我写的脚

var html = "<a href='#' data-role='button' data-theme='b' data-inline='true'>Pay</a>";
$("#DivId").append(html);

但样式不适用于按钮。当我尝试直接在 Div 标签中编写以下代码时,它工作正常

<a href='#' data-role='button' data-theme='b' data-inline='true'>Pay</a>

有什么帮助吗?

【问题讨论】:

  • data-inline、data-theme 有什么作用?为什么不使用 css 类,class="myclass",并在
  • 您可以发布您用来设置锚点样式的 CSS 吗?
  • @nobugs 他没有这么说,但这看起来像 JQueryMobile 代码。 JQM 将根据设置的不同主题/角色/选项自动添加样式等。
  • @AndrewR Cool,看起来像一个类似于adobe.com/devnet/dreamweaver/articles/…的多主题设置

标签: jquery html css jquery-mobile


【解决方案1】:

您必须允许 JQueryMobile 更新新添加的 DOM 元素。

http://jquerymobiledictionary.pl/faq.html

var html = "<a href='#' data-role='button' data-theme='b' data-inline='true'>Pay</a>";
$("#DivId").append(html).trigger('create');

【讨论】:

  • 谢谢你 Andrew 工作就像一个魅力.. 非常感谢
【解决方案2】:

您是否在$(document).ready() 函数上使用了 JavaScript 样式或其他东西?在这种情况下,您需要在执行$("#DivId").append(html); 后重新启动该函数。

示例

你有这样的功能:

$(document).ready(function(){
    $('a[href="#modal"]').click(function(){
        alert("Modal");
    });
});

它在页面加载后在运行时执行。您正在动态插入另一个具有相同内容的 &lt;a&gt; 标记。例如:

$("#result").html('<a href="#modal">Modal Window</a>');

发生的情况是,这个 HTML 是在处理程序执行后插入的。因此,$(document).ready() 函数中启动的处理程序不适用于此。因此,为了确保即使执行此操作,您也需要以这种方式重新初始化它:

$(document).ready(function(){
    loadPage();
});
function loadPage(){
    $('a[href="#modal"]').click(function(){
        alert("Modal");
    });
}
function something(){
    $("#result").html('<a href="#modal">Modal Window</a>');
    loadPage();
}

希望你明白了吗?

【讨论】:

  • 你能给我举个例子吗?
  • 我使用了外部 CSS 样式
  • 我已经给你详细解释了@user1198485。看看它,看看你是否能够理解它。 :)
【解决方案3】:

答案是它应该可以工作。只要代码在 DOM 中正确输出(使用 Firebug 或其他检查器查看),CSS 就没有理由无法在它上面工作,而且很可能问题出在您尚未共享的 CSS 上。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-10-26
    • 1970-01-01
    • 2023-03-09
    • 2011-09-08
    • 2016-05-05
    • 2023-04-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多