31

スクリプトがあります

var firstImg = row.getElementsByTagName('img')[0];

以降

if (x){ firstImg.src='/images/checked.png'; }

imgがclass='something'

(class ='something'で最初のimgを取得します)

4

4 に答える 4

53

使用

 querySelectorAll('img.classname')[0]

これにより、クラスがクラス名に設定された最初の画像が返されます。ただし、jQueryの方が優れています!!

$('img.classname')
于 2012-10-02T07:22:41.210 に答える
8

設定するだけ...

firstImg.className += "something";

...また...

firstImg.classList.add("something");

古いブラウザをサポートしないことで逃げることができれば。

さらに読む(免責事項:私自身のブログへのリンク)。

特定のクラス名の要素を取得する場合は、...を使用できます。

document.getElementsByClassName("something");

...また...

document.querySelectorAll(".something");

getElementsByClassName()<=IE8にはないことに注意してください。

使用できます...

var getElementsByClassName(nodeList, className) {
    var i, results = [];
    for (i = 0; i < nodeList.length; i++) {
        if ((" " + nodeList[i].className + " ").indexOf(" " + className + " ") > -1) {
             results.push(nodeList[i]);
        }
    }

    return results; 
}

もちろん、jQueryを使用している場合は非常に簡単です...

$(".something");
于 2012-10-02T07:18:57.013 に答える
1

古いブラウザを破棄できなかった場合は、ループが必要です。

var imgs = row.getElementsByTagName('img'),
    some_class = 'something',
    i, first_img;

for (i = 0; i < imgs.length; i++) {
    if ((' ' + imgs[i].className + ' ').indexOf(' ' + some_class + ' ') > -1) {
       first_img = imgs[i];
       break;
    }
}
于 2012-10-02T07:32:43.450 に答える
1

imgこれにより、class='something'の最初のものが選択されます。

var firstImg = $('img.something')[0];
于 2012-10-02T07:21:04.563 に答える