2013-01-04 65 views
0

你好家伙我有一个非常标准的div与CSS,我想追加到一个已经存在的给定类的div。 这里是我的标记jquery样式div并根据div标签添加标题

<div id ="one" class="PortalBox"> 

    </div> 

    <div class="ab_Box1d"> 
       <div style="width:600px;"> 
        <%@ include file="./concur-reports/index.html"%> 
       </div> 
    </div> <!--finish ab_box1d--> 


</div> 

这里是我的jQuery。

$(document).ready(function() { 
$(".PortalBox").each(function(){ 
    var ThisCss = $('<div class="ab_Box1a" id="report1" style="width:640px; padding-top:6px;">'+ 
      '<div class="ab_Box1b" id="reportchild1"> </div>' + 
       '<table class="ab_Box1c" width="100%" border="0"'+ 
        'cellspacing="0" cellpadding="0">'+ 
       '<tr>'+ 
        '<td style="text-align:left">Concur Reports</td>'+ 
       '</tr>'+ 
      '</table>' 
    + 
    '</div>') 
    ThisCss.insertAfter('.PortalBox'); 
    }); 
}); 

所以基本上我想追加jQuery中的标记时,我对任何的div绊倒带班“PortalBox”不过,我需要做的一部分动态至极基本上会是一个标题 这部分

'<td style="text-align:left">my channel</td>'+ 

需要动态地从另一个带有div的HTML属性中获取标题。 我可以添加一个“标题”属性的div标签的值,我如何使这可能与jQuery的?或java脚本我愿意接受任何想法,以备选解决方案。 在此先感谢。

回答

1

把标题在data-*属性:

<div data-title="my channel" class="PortalBox"></div> 

然后,您可以使用jQuery检索:

$('.PortalBox').data('title'); 

下面是完整的代码:

$(document).ready(function() { 
    var report = $('<div class="ab_Box1a" style="width:640px; padding-top:6px;">'+ 
     '<div class="ab_Box1b" ></div>' + 
     '<table class="ab_Box1c" width="100%" border="0"'+ 
     'cellspacing="0" cellpadding="0">'+ 
     '<tr>'+ 
     '<td style="text-align:left">Concur Reports</td>'+ 
     '</tr>'+ 
     '</table>'+ 
     '</div>'); 

    $(".PortalBox").each(function() { 
     report.clone() 
      .find('td').text($(this).data('title')) 
      .appendTo(this); 
    }); 
}); 

请注意constructin像这样的HTML片段是非常容易出错的。如果你发现自己经常这样做,你应该考虑使用模板系统。

+0

感谢您的回应约瑟夫,认为你的解决方案似乎工作它由于某种原因overide我的CSS?换句话说,它看起来好像没有为该标题选择风格?有任何想法吗?我当然会更深入地考虑模板 – Miguel

+0

@Miguel - 我已经从标记中删除了ID,因为您不能在不同的元素上重复使用相同的ID。你将不得不编辑你的CSS来定位类名。 –

+0

谢谢,但我没有应用id的样式。换句话说,它不会从class =“ab_Box1c”中拾取样式。这是我最后一个问题,我保证对noob问题感到抱歉。 – Miguel

0
$('div selector').attr('title', enterDesiredvalue); 
+0

不知道你在做什么,但实际上'title'属性是HTML中的工具提示。所以@约瑟夫的方式实际上更好 – kidwon