2016-02-15 2 views
3

Я пытаюсь использовать переменную как селектор JQuery, но он выдает ошибку в консоли:Использование переменной в качестве селектора JQuery

Error: Syntax error, unrecognized expression: # in jquery.2.1.4.min.js

Кто-нибудь есть объяснение, почему это произошло?

function FileSelected(file) { 
    var imgId = RoxyUtils.GetUrlParam('img'); 
    $(window.parent.document).find("#" + imgId).attr('src', file.fullPath); 
    $(window.parent.document).find("#" + imgId).next().val(file.fullPath); 
    window.parent.closeCustomRoxy(); 
} 
+0

Что такое значение 'imgId' –

+0

попробуйте добавить хэштег при определении переменной' var imgId = "#" + RoxyUtils.GetUrlParam ('img'); '. Кроме того, пожалуйста, 'console.log (imgId);' сразу после его определения и сообщите нам, что вы видите. – Sina

+0

id attr of img. например: «img1». –

ответ

-1

Использование контекстно-параметр, вы можете попробовать использовать ниже способом ....

function FileSelected(file){ 
 
/** 
 
* file is an object containing following properties: 
 
* 
 
* fullPath - path to the file - absolute from your site root 
 
*/ 
 
var imgId= RoxyUtils.GetUrlParam('img'); 
 
$("#"+imgId,window.parent.document).attr('src', file.fullPath); 
 
$("#"+imgId,window.parent.document).next().val(file.fullPath); 
 

 
window.parent.closeCustomRoxy(); 
 
}

+0

Это не исправит текущую ошибку. – BenG

+0

Вы уверены, что это работает? –

0

Если вы можете изменить:

var imgId = '#' + RoxyUtils.GetUrlParam('img').toString(); //append # in the image ID, and change to string, if returning an integer. 
$(window.parent.document).find(imgId).attr('src', file.fullPath); 
$(window.parent.document).find(imgId).next().val(file.fullPath); 

Тогда, он должен работать.

Позвольте мне знать

0

добавлен, если еще, чтобы убедиться, что imgId не пуст.

function FileSelected(file) { 
      var imgId = RoxyUtils.GetUrlParam('img'); 
      if(imgId.trim().length >0){ 
        $(window.parent.document).find("#" + imgId).attr('src', file.fullPath); 
        $(window.parent.document).find("#" + imgId).next().val(file.fullPath); 
        window.parent.closeCustomRoxy(); 
      } 
      else{ 
       console.log("the value of imgId is : " + imgId); 
      }   
     } 

Убедитесь, что ваш imgId не имеет значения «#».

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