gpt4 book ai didi

jquery - 尝试在 JQuery 中截断字符串并替换为 ...

转载 作者:行者123 更新时间:2023-12-01 07:23:44 24 4
gpt4 key购买 nike

编辑2:

我刚刚意识到我的 HTML 只显示艺术家和歌曲,而不显示专辑,这就是为什么我有

alert(album);

在那里我得到了意想不到的结果。 jQuery 修剪现在可以按预期工作。脸红感谢您的回答,我将保留这些答案用于其他脚本。

我正在使用 JQuery 获取 Lastfm 用户最近播放的 10 首歌曲并显示它们。

我想将专辑名称截断为 x 个字符并替换为 ...

字符串是:

album = item.album['#text'];

它显示在这里:

$current.find('[class=lfm_album]').append(album);

我尝试过使用:

var shortText = jQuery.trim(album).substring(0, 10)
.split(" ").slice(0, -1).join(" ") + "...";

但它只显示完整的专辑字符串,并且没有任何摆弄或 JavaScript 似乎起作用。

编辑:

我刚刚尝试过

album = item.album['#text'];
alert(album);

看看它认为那里有什么,我得到了一些与脚本生成的任何其他字符串都不匹配的结果,所以现在真的被卡住了!

完整脚本如下:

/*---------------
* jQuery Last.Fm Plugin by Engage Interactive
* Examples and documentation at: http://labs.engageinteractive.co.uk/lastfm/
* Copyright (c) 2009 Engage Interactive
* Version: 1.0 (10-JUN-2009)
* Dual licensed under the MIT and GPL licenses:
* http://www.opensource.org/licenses/mit-license.php
* http://www.gnu.org/licenses/gpl.html
* Requires: jQuery v1.3 or later
---------------*/

(function($){
$.fn.lastFM = function(options) {

var defaults = {
number: 5,
username: 'xxxxxxx',
apikey: 'xxxxxxxx',
artSize: 'medium',
noart: 'images/noartwork.gif',
onComplete: function(){}
},
settings = $.extend({}, defaults, options);

var lastUrl = 'http://ws.audioscrobbler.com/2.0/?method=user.getrecenttracks&user='+settings.username+'&api_key='+settings.apikey+'&limit='+settings.number+'&format=json&callback=?';
var $this = $(this);

var container = $this.html();

$this.children(':first').remove();

if(settings.artSize == 'small'){imgSize = 0}
if(settings.artSize == 'medium'){imgSize = 1}
if(settings.artSize == 'large'){imgSize = 2}

this.each(function() {

$.getJSON(lastUrl, function(data){
$.each(data.recenttracks.track, function(i, item){

if(item.image[1]['#text'] == ''){
art = settings.noart;
}else{
art = stripslashes(item.image[imgSize]['#text']);
}

url = stripslashes(item.url);
song = item.name;
artist = item.artist['#text'];
album = item.album['#text'];
// this is the part where I try to truncate "album"
var shortText = $.trim(album).substring(0, 10)
.split(" ").slice(0, -1).join(" ") + "...";




$this.append(container);

var $current = $this.children(':eq('+i+')');

$current.find('[class=lfm_song]').append(song);
$current.find('[class=lfm_artist]').append(artist);
//$current.find('[class=lfm_album]').append(album);
$current.find('[class=lfm_album]').append(shortText);
$current.find('[class=lfm_art]').append("<img src='"+art+"' alt='Artwork for "+album+"'/>");
$current.find('a').attr('href', url).attr('title', 'Listen to '+song+' on Last.FM').attr('target', '_blank');

//callback
if(i==(settings.number-1)){
settings.onComplete.call(this);
}

});
});
});
};

//Clean up the URL's
function stripslashes( str ) {
return (str+'').replace(/\0/g, '0').replace(/\\([\\'"])/g, '$1');
}
})(jQuery);

感谢您的帮助。

最佳答案

if (album.length > 10) {
album = album.substring(0, 10) + "...";
}

关于jquery - 尝试在 JQuery 中截断字符串并替换为 ...,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11051133/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com