0

jquery ロードを使用してページからコンテンツをロードしています。div で許可される文字数を制限しようとしています。関数は機能しますが、理由がわかりません。

$('#violin_1_title').load('http://www.klossal.com/klossviolins/inventory.html .violin:first .about .about_txt .about_summary h3:eq(1)', function() {

    $(".txt_limit").text($(this).text().substr(0, 450)+'...');

});  
4

3 に答える 3

1

試してみてください

$('#violin_1_title').load('http://www.klossal.com/klossviolins/inventory.html .violin:first .about .about_txt .about_summary h3:eq(1)', function(response) {

    $(".txt_limit").text(response.substr(0, 450)+'...');

});  

これは、サーバーからの応答データを持つコールバック関数のパラメーターを使用します。

于 2013-02-18T04:47:59.910 に答える
0

サーバーからの応答として得られる出力は HTML になります。したがって、その場合、完全なコンテンツを取得してからテキスト/HTML出力に変換し、出力から部分文字列を適用する必要があります。

$('#violin_1_title').load('http://www.klossal.com/klossviolins/inventory.html .violin:first .about .about_txt .about_summary h3:eq(1)', function(data) {

    $(".txt_limit").text(data.substr(0, 450)+'...');

});

CSS を使用することに問題がなければ、それが 1 行で済む場合は、次のようにすることができます。

.txt_limit {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
于 2013-02-18T04:47:46.040 に答える
0

.txt_limit要素が動的に読み込まれると信じている場合は.find()、既存の親でそれを行う必要があります:

$('#violin_1_title').find(".txt_limit").text().substr(0, 450)+'...';

またはこれ:

$(".txt_limit","#violin_1_title").text().substr(0, 450)+'...';
于 2013-02-18T04:48:17.777 に答える