2013-06-24 2 views
2

Я генерирую iframe и его id динамически.jQuery - найти идентификатор в состоянии iframe не удается

Теперь у меня есть ситуация, если Id уже существует или нет.

Мой код будет,

function createIframe(intxnId){ 

    alert("Id is : "+"$('#"+intxnId+"')"); 

    if($("'#ch"+intxnId+"'").length == 0){ 
     alert("Creating the new Iframe intxnId is: " +intxnId); 
     var iframe = "<iframe id='ch"+intxnId+"' src='" + contexPath + "/HeartChat.html?intxnId="+intxnId+"' class='iframeSize'></iframe>"; 
     alert("iFrame Details : "+iframe); 

     $("#chatMessageArea").find("#messageArea").html(iframe); 

    }else{ 
     alert("ID is already present !"); 
    } 
} 

Моих оповещений для динамического Id есть

enter image description here

Но я получил ошибку, как,

enter image description here

Хорошего ответы определенно признательны ed!

+4

'$ (" '# ch "+ intxnId +"' ")' - изменить это на '$ (" # ch "+ intxnId)' – Pete

+0

Но это приводит к получению идентификатора без кавычек, таких как '$ (# ch0012004p) '. Но правильный формат' $ ('# ch0012004p') 'только знает? –

+0

попробуйте в firebug, и он будет работать. – artsylar

ответ

1

Ваш селектор jQuery недействителен, по какой-либо причине он завернут в одинарные кавычки. Изменить на:

if($("#ch"+intxnId).length == 0){ 

В настоящее время ваш селектор имеет значение:

$("'#chXYZ'") // wrong, it should evaluate to $("#chXYZ") 

Кроме того, нет никакого кода в вашем вопросе, который может производить предупреждение, показанное.

+0

Можете ли вы объяснить, почему jquery предполагает это. Но я получаю предупреждение как этот '$ ('# chXYZ')' only –

+0

Строке нужен только один набор кавычек, это не просто jQuery, весь язык Javascript ведет себя одинаково - если вы ставите одинарные кавычки в двойном кавычки, одиночные кавычки останутся буквальной частью строки. – MrCode

+0

Спасибо за ваш ответ. Тогда почему мы получаем элемент как '$ ('# chXYZ'). Hide()' или sometheing? –