亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何使用文檔優化此java腳本代碼?

如何使用文檔優化此java腳本代碼?

一只斗牛犬 2023-08-10 15:47:44
我是 JS 的新手,不明白do..while等等是如何在這里工作的。我該如何優化這段代碼?我正在做的事情是否正確(在每個帶有 id 的元素內a[...]設置變量?我在里面有一個with , 。我正在做的是將 data-value 設置為 value 以替換 data-target (其他文本元素)數據值。b[...]a1-7list grouplist items#a1-7#b1-7document.getElementById('a1').setAttribute('data-value', a[0])document.getElementById('a2').setAttribute('data-value', a[1])document.getElementById('a3').setAttribute('data-value', a[2])document.getElementById('a4').setAttribute('data-value', a[3])document.getElementById('a5').setAttribute('data-value', a[4])document.getElementById('a6').setAttribute('data-value', a[5])document.getElementById('a7').setAttribute('data-value', a[6]);document.getElementById('b1').setAttribute('data-value', b[0])document.getElementById('b2').setAttribute('data-value', b[1])document.getElementById('b3').setAttribute('data-value', b[2])document.getElementById('b4').setAttribute('data-value', b[3])document.getElementById('b5').setAttribute('data-value', b[4])document.getElementById('b6').setAttribute('data-value', b[5])document.getElementById('b7').setAttribute('data-value', b[6]);$('[data-target]').on("click", '[data-value]', function() {  const clicked = $(this).addClass("actived");  clicked.siblings(".actived").removeClass("actived");  $(clicked.parent().data('target')).text(clicked.data('value'));})另外,有沒有什么辦法可以優化這個(確實有很多)?也許有一些腳本可以實現這些......?:    <ul class="list-group" id="a" data-target=".descr">            <li class="list-group-item" id="a1"><span><?php    echo print_r($tempa[0]["name"], true);    ?></span>             </li><li class="list-group-item" id="a2"><span><?php    echo print_r($tempa[1]["name"], true);    ?></span>             </li><li class="list-group-item" id="a3"><span><?php    echo print_r($tempa[2]["name"], true);    ?></span>           </li></ul>
查看完整描述

1 回答

?
MMTTMM

TA貢獻1869條經驗 獲得超4個贊

你想使用循環:


const a = ['val0', 'val1', 'val2', 'val3', 'val4', 'val5', 'val6']


for (const i in a) {

    document.getElementById('a' + i).setAttribute('data-value', a[i])

}

此外,如果您需要迭代多個數組,您可以創建簡單的函數以使代碼更簡潔:


function setDataValue(id, value) {

    document.getElementById(id).setAttribute('data-value', value)

}


const a = ['val0', 'val1', 'val2', 'val3', 'val4', 'val5', 'val6']


for (const i in a) {

    setDataValue('a' + i, a[i])

}

在 PHP 代碼中,您需要以相同的方式執行此操作:


<?php foreach ($tempa as $key => $value): ?>

    <li class="list-group-item" id="a<?php echo $key + 1; ?>">

        <span>

        <?php

            echo $value["name"];

        ?>

        </span>

    </li>

<?php endforeach; ?>


查看完整回答
反對 回復 2023-08-10
  • 1 回答
  • 0 關注
  • 107 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號