2016-07-12 49 views
4

我需要通過類名元素,其開頭:如何通過ClassName獲取元素並以某個字符串開頭?

width-48 height-48 profile_view_img

完整標籤:

<div class="width-48 height-48 profile_view_img_9131256"></div> 

的該類總是變化的數字。

這是我到目前爲止已經試過:

var x = window.document.querySelectorAll("*[class^=\"width-48 height-48 profile_view_img\"]")[0] 
+0

這是不是工作?你得到了什麼?我們可以看到你的HTML嗎? – Scimonster

+1

你爲什麼想要使用這樣一個脆弱的選擇器? – undefined

+0

你想選擇一個以所有三個類開始的元素嗎? –

回答

3

嘗試以下操作:

var x = window.document.querySelectorAll("*[class^=\"width-48 height-48 profile_view_img\"]")[0] 
var className = x.className; 

JSFiddle

1

您既可以使用querySelector這樣的:

var element = document.querySelector(".width-48.height-48.profile_view_img"); 

或者只是使用getELementsWithClass它接受這樣的空間:

var elements = document.getElementsByClassName("width-48 height-48 profile_view_img"); 
+1

OP意味着類應該以這些字符串開始,而不是那些字符串。 –

0

你快到了。

嘗試:

var x = document.querySelectorAll('.width-48.height-48.profile_view_img')[0]; 

這讀作:

變量x的 文件,其中包含的類​​和.height-48.profile_view_img的第一個元素

+1

OP意味着類應該以這些字符串開頭,而不是那些字符串。 –

+0

如果它沒有找到任何這樣的元素會發生什麼? – Dropout

+0

你說得很對,@JacquesMarais--我錯過了。 – Rounin

-1

對於有名字的類第一元素開始

width-48height-48profile_view_img

,你可以嘗試使用:

var x = window.document.querySelectorAll("*[class^='width-48'] *[class^='height-48'] *[class^='profile_view_img']")[0] 
+0

這是後代選擇器。 – gcampbell

相關問題