Concatenando # para hacer una identificación

Tengo los siguientes códigos que agregan el siguiente html dinámicamente a mi interfaz de usuario.

<a href =\'#\' onClick=\'scroll('+data.cid+')\'>comment</a>

El data.cid se recupera a través de pusher.com y es un valor entero, digamos 428.

En la función de desplazamiento, tendré que concatenar un hashtag delante de data.cid para que se desplace al div #428

Mi función de desplazamiento es básicamente esto.

function scroll(cid) {

    var id = "#" + cid; 
            $.scrollTo(id) ; 

 }

que debería ser equivalente a:

$.scrollTo('#428') ; 

excepto que no es y no se está desplazando al div requerido. Todo funciona bien si codifico # 428 en la función como la anterior.

Claramente, hay un problema con la concatenación de un hashtag frente al valor numérico. ¿Esta es la manera correcta de hacerlo?

preguntado el 12 de junio de 12 a las 19:06

intente usar ' en lugar de ", es decir, var id = '#' + cid; -

is cid ¿un número en lugar de un espacio vacío o algo así? -

podrías console.log or alert el valor de cidpara ver que es? -

¿Estás seguro de que estás dando los ID de tus elementos? -

1 Respuestas

Tu JS se ve bien. Tu marcado está desordenado. Vea los comentarios a continuación:

<a href =\'#\' id =onClick=\'scroll('+data.cid+')\'>comment</a>
               ^ id=onclick=...?

Si el cambio de marcado no soluciona su problema, use console.log para comprobar el valor de cid dentro scroll(). Lo más probable es que no se esté transmitiendo correctamente. Tu JS está bien como está.

Respondido el 12 de junio de 12 a las 19:06

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.