Справка по селектору jquery ... думал, что я правильно последовал примеру ... но не могу заставить его работать - PullRequest
1 голос
/ 22 марта 2010

Я пытаюсь сделать следующее в jquery, но не могу заставить его работать.

Я хочу выбрать все теги DIV, которые имеют собственный атрибут NODE_ID со значением 49_3. затем выберите и измените атрибут src на другое изображение.

Вот HTML:

<div style="display: block;" id="71_7_sub_p_div" node_id="49_3">
    <span>
        <img src="../images/maximize.png"> &nbsp;Greenfield Industrial Park
    </span>
</div>   

Вот сценарий:

<script type="text/javascript">
    $(document).ready(function(){
        $("div[node_id='49_3']:has(img)").attr("src","../images/folder_closed.png");
    });
</script>

Любые идеи приветствуются. спасибо.

1 Ответ

3 голосов
/ 22 марта 2010
$("div[node_id='49_3'] img").attr("src","../images/folder_closed.png");

Это должно сработать, но я бы посоветовал вам использовать CSS для этих изображений, а не использовать javascript для переключения src.

<div style="display: block;" id="71_7_sub_p_div" node_id="49_3" class="maximize">
    <span>&nbsp;Greenfield Industrial Park</span>
</div> 

CSS

.maximize{
    background: url(/images/maximize.png) no-repeat;
    padding-left: 10px; // width of icon
}
.minimize{
    background: url(/images/folder_closed.png) no-repeat;
    padding-left: 10px; // width of icon
}

Javascript:

<script type="text/javascript">
    $(document).ready(function(){
        $("div[node_id='49_3']").removeClass('maximize').addClass('minimize');
    });
</script>

Преимущество такого подхода заключается в том, что вы можете легко управлять различными стилями состояний в CSS, и вам не придется копаться в JavaScript, когда вам нужно изменить URL-адрес изображения. Также это дает вам простой способ выяснить состояние «папки».

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...