使用twitter fetcher script,但這些鏈接是忽略網站設計的「未修改」鏈接。用jQuery替換字符串中的鏈接文本
將每個供稿條目的HTML作爲字符串傳遞給回調函數。我需要解析字符串並用href屬性替換鏈接文本。
使用twitter fetcher script,但這些鏈接是忽略網站設計的「未修改」鏈接。用jQuery替換字符串中的鏈接文本
將每個供稿條目的HTML作爲字符串傳遞給回調函數。我需要解析字符串並用href屬性替換鏈接文本。
這似乎是一個簡單的答案:
function replaceLinkText(tweetCode) {
var parsed = $('<div>' + tweetCode + '</div>');
$(".tweet > a", parsed).each(function(eli, elel) {
$(elel).text(elel.href);
});
return parsed.html();
}
這是我的解決方案。從回調中解析HTML字符串對於stackoverflow來說似乎是唯一的。我花了一段時間嘗試使用jQuery方法,而不是直接訪問對象屬性。 2個嵌套循環也減少了腳本的可移植性。
function replaceLinkText(tweetCode) {
var parsed = $.parseHTML(tweetCode);
var outputString = "";
$.each(parsed, function(i,el) {
if (el.className == "tweet") {
$.each(el.children, function(eli, elel) {
if (elel.nodeName == 'A') {
elel.textContent = elel.href;
}
});
}
outputString += el.outerHTML;
});
return outputString;
}
parsed.html() - undefined不是函數。這是jQuery方法在我嘗試它們時所做的。直接訪問屬性是好的。 – Interlated 2015-03-30 20:55:26
我剛剛擺脫了對'$ .parseHTML()'的調用。它返回一個數組而不是一個jQuery對象,我不需要它。 – Barmar 2015-03-30 20:56:32