js如何获取div下的所有节点(节点数是由for循环确定的)

新手上路,请多包涵
<div id='div-feeback-interaction-links' v-for="(item, index) in linkList" :key="index">
        
        <span class="link-span">{{links.name}}</span>
        <el-input class="link-input" v-model="item.name" :placeholder="'请填写' + links.name"></el-input>
        <el-button class="btn" @click="item.linkVisible = false" type="text" plain>链接</el-button>
        <el-input :class="!item.linkVisible? 'link-input' : 'link-input-display'" v-model="item.website" :placeholder="'请填写 ' + links.website + ' ,按回车显示链接'" @keyup.enter.native="item.linkVisible = true" :disabled="item.linkVisible"></el-input>
        <a :class="item.linkVisible && !!item.website? 'link-a' : 'link-a-display'" :href="item.website" target="_blank">{{item.website}}</a>
        <span class="link-common" v-show="!item.linkVisible">请在输入框中按回车显示链接</span>
      </div>

若linkList这个数组中有多条数据,使用document.getElementById('div-feeback-interaction-links')获取到只有第一条数据对应的dom结构,请问怎么解决这个问题呢?
打印结果:
image.png
实际结果:
image.png

阅读 3.4k
2 个回答

用这种方法可以获取多个相同的id,不过还是用 class 或者自定义属性 data-id="11",最好了。

document.querySelectorAll('[id="div-feeback-interaction-links"]');

ID 当然是唯一的了,不然为啥叫 ID?它的中文叫做“标识符”,如果不是唯一的,它怎么能标识呢?

有多个为啥要用 ID?你给个 class 也好啊,然后用 document.getElementsByClassName 方法取。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题