JQuery Collapsible Div仅在第一次正确显示

时间:2015-09-01 12:24:13

标签: javascript jquery html

您好我有一个简单的可折叠div在js中用这样的函数创建:

function createColDiv() {
  return '<div data-role="collapsibleset" data-theme="a" data-content-theme="a">' +
    '<div data-role = "collapsible">' +
    '<h2>Sub0001</h2>' +
    '</div>' +
    '</div>';
}

这是在另一个函数内部完成的,该函数创建一个出现在可折叠div之前的表,如下所示:

function build() {
  var windowContent = '<table id="tabellaGallery" class="ui-body-d ui-shadow ui-responsive table-stripe" data-column-btn-theme="b" style="width:100%; margin:0px; border:0px solid black; border-collapse: collapse;">' +
  '<tr style="text-align: center; border-bottom: 1px solid #AFAFAF" ><td align="center" style="text-align: center; font-weight: bold" colspan="2">Table Title</td></tr>' +
  '<tr class="bb" style="vertical-align: middle;min-width: 150px;padding-left:0.3em">' +
            '<td style="vertical-align: middle;min-width: 150px;padding-left:0.3em">Data di nascita</td>' +
            '<td align="right" style="vertical-align: middle; padding-left:0.5em;padding-right:0.4em">14091947</td>' +
  '</tr>' +
  '<tr class="bb" style="vertical-align: middle;min-width: 150px;padding-left:0.3em">' +
            '<td style="vertical-align: middle;min-width: 150px;padding-left:0.3em">Luogo di nascita</td>' +
            '<td align="right" style="vertical-align: middle; padding-left:0.5em;padding-right:0.4em">L378</td>' +
  '</tr>' +
  '</table>' + 
  createColDiv();

  $('#myPage').html(windowContent);
}

然后我将所有html添加到包含$('#myPage').html(windowContent);的页面。问题是,当我第一次进入该页面时,我可以正确地看到我的可折叠div:

enter image description here

但是如果我再次进入,我会看到我的“可折叠div”:

enter image description here

它甚至不再是一个按钮,只是纯文本..我做错了什么?

1 个答案:

答案 0 :(得分:1)

您似乎正在使用func getRandomColor() -> UIColor{ var randomRed:CGFloat = CGFloat(drand48()) var randomGreen:CGFloat = CGFloat(drand48()) var randomBlue:CGFloat = CGFloat(drand48()) return UIColor(red: randomRed, green: randomGreen, blue: randomBlue, alpha: 1.0) }

如果是这样,当页面加载时,脚本(jQuery Mobile)&#34;读取&#34;元素的属性(按钮,列表等)并由它们添加类。

如果您只是添加一个html标记,则需要脚本再次运行并且#34;做他的魔法&#34;。

如果我到目前为止,请阅读此问题:Dynamically Add Buttons Via JQuery Mobile

简而言之,您必须运行:(例如,在按钮上)

jquery-ui