2016-04-26 39 views
0

私は現在、アイコンだけのボタンとしてレンダリングされる次のタグで作業しています。
これをアイコンにして、その後にExport PDFとしたいと思います。Htmlのテキストの変更<a>タグ

通常、このようなボタンを作成するつもりはありませんが、私はボタンを生成する剣道のコントロールを使用しています。

<a href="" role="button" class="k-tool k-group-start k-group-end" 
    unselectable="on" title="Export PDF"> 
    <span unselectable="on" class="k-tool-icon k-pdf"></span> 
    <span class="k-tool-text">Export PDF</span> 
</a> 

私は次のように要素の中に私の希望のテキストを挿入するためにjQueryのを使用しようとしています:一度、次のようにボタンが見えレンダリング

<script> 
     $(document).ready(function() { 
      $('.k-tool-icon').text("Export PDF"); 
     }); 
</script> 

しかし、これは何も変わりません。私はアイコンだけでボタンを手に入れます。

編集:

@(Html.Kendo().Editor() 
     .Name("editor") 
     .HtmlAttributes(new { style = "height:900px" }) 
     .Pdf(pdf => pdf 
      .Margin(20, 20, 20, 20) 
      .ProxyURL(Url.Action("Pdf_Export_Save", "Editor")) 
    ) 
     .Tools(tools => tools 
      .Clear() 
      .Pdf() 
    ) 
     .Value(@<text> 
     <code> 
      @Html.Raw(HttpUtility.HtmlDecode(Model.ReportString)) 
     </code> 
    </text>) 
    ) 
+1

私のために動作https://jsfiddle.net/j08691/f0pcyx1q/ – j08691

+0

このアイコンはおそらくテキスト置換技術を使用しています。 .k-tool-text spanのスタイリングで何が問題になっていますか? – moopet

+1

@ j08691実際に剣道のエディタを使用していないので、多分あなたのために働いていますか?よく分かりません。しかし、それは間違いなく私のために働いていない – GregH

答えて

1

あなたがコンテンツを交換したい場合は、で

ネイティブDOMを使用することがはるかに高速になります。以下は、上記の投稿のHTMLをレンダリングしているC#MVC剣道エディタですあなたが上で与えたコードサンプルは、前と後のボタンに同じテキストがあります。

Before: <span class="k-tool-text">Export PDF</span> 
After: $('.k-tool-icon').text("Export PDF"); 

// Use Native DOM for better performace 
$(document).ready(function() { 
    document.querySelector('.k-tool-icon').textContent = `Export PDF`; 
}); 

しかし、いずれにせよ、あなたがここに示したコードが働いています。

+0

私も使用している剣道のコントロールのコードを投稿しました。これは私のために働いていないが、ここでは剣道が作ったhtmlを直接使っている人たちのために働いている – GregH

0

@peggyおそらく問題は、剣道によって生成された要素がまだ存在しないテキストを追加しようとするよりも、剣道の処理がドキュメントの準備ができてから遅れていることです。

剣道がすでに処理されている場合は、$('.k-tool-icon').text("Export PDF");を追加してください。

関連する問題