0

こんにちは皆さん、CSS を使用したかなり標準的な 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');
   });
});

基本的に、クラス「PortalBox」のdivに出くわしたときにjqueryにマークアップを追加しようとしていますが、基本的にこの部分のタイトルになる部分を動的にする必要があります

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

div 内の別の HTML 属性からタイトルを取得するには、動的である必要があります。値を持つ div タグに「タイトル」属性を追加できますか? jquery でこれを可能にするにはどうすればよいですか? またはjava-script私はあらゆるアイデアを受け入れているので、代替ソリューションです。前もって感謝します。

4

2 に答える 2

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);
    });
});

このようなHTMLフラグメントを作成すると、エラーが発生しやすくなることに注意してください。これを頻繁に行う場合は、テンプレートシステムの使用を検討する必要があります。

于 2013-01-04T15:08:57.687 に答える
0
$('div selector').attr('title', enterDesiredvalue);
于 2013-01-04T15:09:41.520 に答える