Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Как выдернуть Id c верхнего уровня. (https://javascript.ru/forum/misc/61356-kak-vydernut-id-c-verkhnego-urovnya.html)

Rafael_Santi 15.02.2016 02:52

Как выдернуть Id c верхнего уровня.
 
Добрый день! помогите пожалуйста получить числовой часть id(price не меняться, только числа ) в элементе с классом "fjp_id" и присвоить их только в дочерних элементах с заменой jp_id на число.
что то у меня не получается если и получается то меняется везде!

<i class="fjp_id" id="price-42">
<span id="price-jp_id" class="price_qe" title="Click to edit ..." style="text-decoration:line-through">1200.0000</span>
<br>
<span id="specials-jp_id" class="special_qe" title="Click to edit ...">1.0000</span>
</i>
<hr />
<i  id="price-56">
<span id="price-56" class="price_qe" title="Click to edit ..." style="text-decoration:line-through">1200.0000</span>
<br>
<span id="specials-56" class="special_qe" title="Click to edit ...">1.0000</span>
</i>


<script>

jid=$('.fjp_id').attr("id").replace('price-', '');
              $('.fjp_id').children($(".price_qe").attr("id", ($('.price_qe').attr('id').replace('jp_id', jid))));
</script>

destus 15.02.2016 06:47

<script src="http://code.jquery.com/jquery-latest.min.js"></script>
<script>
        $(function () {
            var jid = $('.fjp_id').attr('id').replace('price-', '');
            $('.fjp_id').children('[id]').attr('id', function (i,val) {
                return val.replace('jp_id', jid);
            })
        })
    </script>
    
    <i class="fjp_id" id="price-42">
        <span id="price-jp_id" class="price_qe" title="Click to edit ..." style="text-decoration:line-through">1200.0000</span>
        <br>
        <span id="specials-jp_id" class="special_qe" title="Click to edit ...">1.0000</span>
    </i>
    <hr />
    <i id="price-56">
        <span id="price-56" class="price_qe" title="Click to edit ..." style="text-decoration:line-through">1200.0000</span>
        <br>
        <span id="specials-56" class="special_qe" title="Click to edit ...">1.0000</span>
    </i>

Rafael_Santi 15.02.2016 12:23

Цитата:

Сообщение от destus (Сообщение 407806)
<script src="http://code.jquery.com/jquery-latest.min.js"></script>
<script>
        $(function () {
            var jid = $('.fjp_id').attr('id').replace('price-', '');
            $('.fjp_id').children('[id]').attr('id', function (i,val) {
                return val.replace('jp_id', jid);
            })
        })
    </script>
    
    <i class="fjp_id" id="price-42">
        <span id="price-jp_id" class="price_qe" title="Click to edit ..." style="text-decoration:line-through">1200.0000</span>
        <br>
        <span id="specials-jp_id" class="special_qe" title="Click to edit ...">1.0000</span>
    </i>
    <hr />
    <i id="price-56">
        <span id="price-56" class="price_qe" title="Click to edit ..." style="text-decoration:line-through">1200.0000</span>
        <br>
        <span id="specials-56" class="special_qe" title="Click to edit ...">1.0000</span>
    </i>

Спасибо! Помогло, но только на первом элементе, а последующие принимают значение id первого элемента https://jsfiddle.net/df000w9u/3/


Часовой пояс GMT +3, время: 06:11.