1

次のコードが機能しない理由を何時間も探していました。

naam = "div#" + $(naam).next('div').attr('id');
current = "img." + $(naam).attr('id');
$(current).css("border", "solid 4px #9966FF");

div には、img のクラスと同じ名前の ID があります。

<div id="michiel">

これは、コードを使用したい画像です。

<img src="Images/michielsmall.jpg" class="michiel, link" alt="Michiel">

ご覧のとおり、img の境界線を class で変更しようとしてい"michiel"ます。

I の場合console.log(current);、出力は:img.michielです。これは正しいです。

なぜこれがうまくいかないのか本当にわかりません、助けてください。

4

2 に答える 2

4

これは、クラス名にコンマが含まれているためです

class="michiel, link"
              ^^------- Remove this

察するに

class="michiel link"

または..コンマを存在させたい場合は、セレクターを次のように変更します

var current = "img." + $(naam).attr('id') + "\\,";

しかし、これはお勧めしません

フィドルをチェック

于 2012-12-19T18:05:41.527 に答える
0

naam定義されてない。ここでjsfiddleを作成し、Chromeコンソールを調べました。

アップデート

JavaScriptを次のように変更しまし$('.michiel').css('border', 'solid 4px #9966FF');た。より具体的にする必要がある場合は、ここから取得できると確信しています。

http://jsfiddle.net/jmutv/2/

于 2012-12-19T18:09:53.373 に答える