2015-04-16 6 views
0

Есть ли какой-либо код в Javascript, похожий на * или LIKE Operator в MYSQL для следующей цели.Код Javascript, который функционировал как * (или LIKE Operator in MYSQL) в функции onclick

onclick="toggle_visibility('row1*');" 

Я пытаюсь создать переменную с динамическими данными из базы данных.

В этом случае мне нужно одновременно переключать любые строки с классами = row11, class = row12, class = row13 и class = row14, щелкнув строку с классом = row1.

Затем, когда я нажимаю любую строку из row11, снова одновременно переключать строки с классом = row111, row112, row113 и т.д. Так что для этого уровня, похоже:

onclick="toggle_visibility('row11*');" 

Нужна ваша помощь, пожалуйста, , Спасибо.

+0

идеале вы просто могли бы сделать это с классом. – epascarello

+0

Есть [селекторы атрибутов] (https://developer.mozilla.org/en-US/docs/Web/CSS/Attribute_selectors). В этом случае селектор будет выглядеть как '[class^= row1]' или '[class^= row11]'. Конечно, это осложняется тем фактом, что у вас может быть более одного класса, который может работать с '[class * = row1]' например, если у вас нет что-то вроде 'class = 'row11 striped-row1'', где вы будет соответствовать последнему, возможно, там, где вы этого не хотите. –

+0

@Jared, будет ли он работать, если дерево динамически зависит от данных? Теперь его только до класса = row14, в будущем будет класс = строка15, поскольку добавлено больше данных. Это также произойдет для следующих уровней, где будет добавлено больше данных, class = row114, class = row115 и т. Д. – anesbbs

ответ

2

Вы можете либо установить общий класс для элементов, либо использовать getElementsByClassName, либо вы можете использовать querySelector и начать с селектора.

начинается с селектором

var x = document.querySelectorAll('[id^="row1"]') 
 
for(var i=0; i<x.length; i++) { 
 
    x[i].classList.add("selected"); 
 
}
.selected { color: #00CC00; }
<div id="row11">11</div> 
 
<div id="row12">12</div> 
 
<div id="row13">13</div> 
 
<div id="row21">21</div> 
 
<div id="row22">22</div> 
 
<div id="row23">23</div>

+0

Он уже использует классы. Я предполагаю, что это потому, что на странице может быть больше одного дерева. –