我目前使用下面的代碼從數據庫中獲取值,然後將值添加到我有一個窗體。第一部分追加防火牆的名稱,並將唯一ID添加到元素的ID。jQuery - 獲取元素的ID,如果它等於值,然後添加鏈接
if (value.type == 'Firewall') {
$('#companyFirewall').append('<div class="detailsFirewall" id="Firewall' + value.id + '">' + value.value + '</div>');
}
接下來的這個代碼將獲得「thing_id」從數據庫中,這將是涉及到「防火牆」唯一ID的外鍵,而節中,如果它的「ID」匹配元素,它將包裝文本與數據庫中的鏈接。
if (value.type == 'Firewall URL') {
if ($('.detailsFirewall').attr('id') == 'Firewall' + value.thing_id) {
$('#Firewall' + value.thing_id).wrap('<a target="_blank" href="' + value.value + '" />');
}
}
現在,問題我有是它唯一的纏繞第一文本,不會做他們的休息。現在它全部在一個函數中,但我試圖單獨將它放在函數中,然後在其他函數完成後調用它。我也試着在功能上做了幾秒鐘的延遲,但這也沒有奏效。我能做些什麼來解決這個問題?
這裏是整個代碼塊:
$.get(submitLink, { business_id: business_id, sitePath: sitePath, companyFirewall: companyFirewall })
.done(function(data) {
var results = jQuery.parseJSON(data);
console.log(data);
$(results).each(function(key, value) {
/* Add the data */
if (value.type == 'Firewall') {
$('#companyFirewall').append('<div class="detailsFirewall" id="Firewall' + value.id + '">' + value.value + '</div>');
}
if (value.type == 'Firewall URL') {
if ($('.detailsFirewall').attr('id') == 'Firewall' + value.thing_id) {
$('#Firewall' + value.thing_id).wrap('<a target="_blank" href="' + value.value + '" />');
}
}
/* Logs the data in the console */
console.log(key);
console.log(value);
})
});
是什麼'data'樣子? – Tex
我認爲你對jQuery的使用有點矯枉過正,可能實際上讓你無法找到解決方案。 考慮將'if(value.type =='防火牆URL')內的代碼更改爲如下內容: 'var el = document.getElementById('Firewall'+ value.thing_id);如果(el){ $(el).wrap ... }' – evilham
'data'看起來像:'{「type」:「Firewall」,「value」:「Name」,「thing_id」:null, 「id」:「1」}' – Mason