Soru JQUERY: Yakalanmamış Hata: Sözdizimi hatası, tanınmayan ifade


console.log($('"#'+d+'"'));

html içinde var

<div id="2013-10-23">
    <h1>5</h1>
    <p>eeeeeeeeeeee</p>
</div>

Bu hata atar:

Yakalanmamış Hata: Sözdizimi hatası, tanınmayan ifade: "# 2013-10-23"

Yukarıdaki kodda bir div var id="2013-10-23" ve yanıt olarak bu kimliği aldığında, sözdizimi hatası veriyor


18
2017-10-03 12:34


Menşei




Cevaplar:


Deneyin

console.log($("#"+d));

Çözümünüz, çift tırnakları dizenin bir parçası olarak iletiyor.


30
2017-10-03 12:40





"Double quote" + 'single quote' combo gerekli değildir

console.log( $('#'+d) ); // single quotes only
console.log( $("#"+d) ); // double quotes only

Seçmen sonuçlarınız şöyle ki:

$('"#abc"') // -> it'll try to find  <div id='"#abc"'>

// In css, this would be the equivalent:
"#abc"{ /* Wrong */ } // instead of:
#abc{ /* Right */ }

14
2017-10-03 12:36





Kullanmayı deneyin:

console.log($("#"+d));

Bu, kullandığınız ekstra teklifleri kaldıracaktır.


8
2017-10-03 12:37





Örneğin, eksik olan bir seçiciyi denerseniz, safaride de olabilir.

$('select[name="something"')

ama ilginç bir şekilde, eksik bir braketle aynı jQuery seçici kromda çalışacaktır.


5
2017-12-04 21:48





Bunu dene (ES5)

console.log($("#" +  d));

ES6

console.log($(`#${d}`));

4
2017-10-03 12:37





JQuery 2.1.4 veya üzerindeyseniz, şunu deneyin:

$("#" + this.d);

Veya, kullanmadan önce var tanımlayabilirsiniz. Kodunuzu daha basit hale getirir.

var d = this.d
$("#" + d);

0
2018-03-13 06:14