2011-09-12 4 views
0

에 저장 '.'jQuery를 기간은이 코드가 VAR

$('.img\\' + imgId).remove(); 

그래서 문제는, 내가 탈출 기운을 그 이유는 var에 있기 때문입니다. 내가 무엇을 할 수 있을지?

+0

클래스가'.imgfile1.jpg'입니까? – Shef

+0

파일 이름이 들어있는'class'가 있습니까? 왜? 'src'는 이미 파일 이름을 포함하고 있습니다 ... – Tomalak

+0

또한 선택자'.img \ file1.jpg '는''img \ file1'' 클래스와''jpg'' 클래스, 즉''img \ file1' '클래스로 해석 될 것입니다 jpg '. "." (도트) 클래스 선택기, ans 또는 클래스 ("#"및 다른 "선택자"문자로) 이스케이프해야합니다 – roselan

답변

4

마크 업에 class/id의 일부로 파일 이름을 저장하지 마십시오. 기간이 난 강력하게 당신이 다른 이름 지정 규칙을 따라야 있습니다 sugest하는 HTML ID를 유효한 엔티티가 있지만 특히,

$('.img[data-filename="'+imgId+'"]').remove(); 
+0

'src '에는 이미 파일 이름이 들어 있습니다. 다른 곳에서 저장하는 것은 최고로 중복됩니다 – Tomalak

+0

@Tomalak - img 요소로 작업하고 있다고 가정 할 때 그렇습니다. 그래도 해당 게시물에는 지정되지 않았습니다. 이미지와 관련된 input/div/etc로 쉽게 작업 할 수 있습니다 (이미지 자체는 포함하지 않음). –

+0

감사합니다 Justin, this – benhowdle89

0

나는 아마도이 질문에 대해 오해했을 것입니다. 그러나 이것은 효과가 있습니까?

$('.img\\' + replace(imgId,'.','\.')).remove(); 
0

당신은 그것을 대체 $("#"+imgId, ".img").remove()

0

사용 .replace 같은 일을 할 수 없습니다.

var imgId = this.id.replace('.', '/.'); //Or whatever other escaping is there. 
0

: 당신의 jQuery를에

<div class="img" data-filename="file1.jpg" /> 

: 그리고 대신, 데이터 - 속성을 사용 하나의 마침표는 Id 값에서 사용되지 않습니다.