2015-03-21 4 views
0

Пожалуйста, у меня есть код JQuery, когда добавляет данные в сНу элемента успешно, как этотКак добавить строку в переменную JQuery атрибут HTML elememt

$('#conversation').append('<div id="receiver"><p><b>' + username + ':</b> ' + data + '</p></div><br>'); 

Теперь предположим, что я хочу иметь якорь тег, который будет иметь гиперссылку внутри как атрибут, и я хочу передать переменную этому атрибуту href, а не самой ссылке, так как я не знаю, какую ссылку будет отправлена. У меня проблемы, чтобы добавить это.

$('#conversation').append('<div id="receiver"><p><b>' + username + ': <a id="link" href="'+ data +"></a></p></div><br>'); 

Это не работает. Любая идея, как это сделать. Это весь мой фрагмент кода

socket.on('updatechat', function (username, data) { 
//showing username and the message sent 
var checkifdataisalink=data; 
var check=checkifdataisalink.split('://') 
if((check[0]=='http')||(check=='https')) 
{ 
    $('#conversation').append('<div id="receiver"><p><b>' + username + ': <a id="link" href="'+ data +"></a></p></div><br>'); 
}else{ 
$('#conversation').append('<div id="receiver"><p><b>' + username + ':</b> ' + data + '</p></div><br>'); 
} 

});

ответ

1

Помимо отсутствующего цитаты, ваша or часть, если условия не хватало [0]. Смотри ниже.

//For demo purposes only 
var check = ["http", "other-part-of-the-url"]; 
var username = "user"; 
var data = "data"; 
// --;-- 

if(check[0] == 'http' || check[0] == 'https') { 
    $('#conversation').append('<div id="receiver"><p><strong>' + username + ':</strong> <a id="link" href="' + data + '">' + data + '</a></p></div><br/>'); 
} else { 
    $('#conversation').append('<div id="receiver"><p><strong>' + username + ':</strong>' + data + '</p></div><br/>'); 
} 

Demo @fiddle

+0

Perfect. Просто работает очень хорошо. Огромное спасибо. Я очень благодарен – Kwaadjei

+0

Не могли бы вы объяснить, как это происходит. Извините, что беспокою вас. – Kwaadjei

+0

Каждая ситуация другая. Уделять пристальное внимание тому, что вы делаете, было бы полезно. Пожалуйста, примите/поддержите этот ответ, если он вам поможет. – lshettyl

1

Изменить

$('#conversation').append('<div id="receiver"><p><b>' + username + ': <a id="link" href="'+ data +"></a></p></div><br>') 

в:

$('#conversation').append('<div id="receiver"><p><b>' + username + ': <a id="link" href="'+ data +'"></a></p></div><br>'); 

Только один ' отсутствовал после data

+0

Вы должны объяснить сделанные изменения (который заменял двойные кавычки с одной на заключительной строки блока) – Yass

+0

Этого не следует делать, если все кавычки (двойные и одиночные) имеют соответствующие начальные и конечные значения. – Yass

Смежные вопросы