我正在试着写一个简单的脚本,它将改变一个页面上许多锚的文本。我是Javascript的新手,我可以更改锚点,但它会更改整个标签,包括删除href。
如何在不影响href的情况下仅编辑文本?
<body>
<div class="loop-add-to-cart">
<a href="/?preview_id=10822&preview_nonce=2f9a98329f&_thumbnail_id=-1&preview=true&add-to-cart=11544" rel="nofollow" data-product_id="11544" data-product_sku="" data-quantity="1" class="add_to_cart_button product_type_simple ajax_add_to_cart">Add to basket</a>
<div class="wpd-buttons-wrap-simple" data-id="11544">
<a href="http://802.f5f.myftpupload.com/11550-2/design/11544/" class="mg-top-10 wpc-customize-product">Design from blank</a>
</div>
</div>
<script>
function buybuttons() {
var buybuttons = document.getElementsByClassName('wpd-buttons-wrap-simple');
for(var i = 0; i < buybuttons.length; i++){
buybuttons[i].innerHTML="Test";
};
}
buybuttons();
</script>
</body>
发布于 2018-08-01 06:13:49
可以使用查询选择器来获取类为wpd-buttons-wrap-simple
的元素中的所有a
标记
document.querySelectorAll('.wpd-buttons-wrap-simple a');
然后,您可以设置链接的textContent
或innerHTML
。
<body>
<div class="loop-add-to-cart">
<a href="/?preview_id=10822&preview_nonce=2f9a98329f&_thumbnail_id=-1&preview=true&add-to-cart=11544" rel="nofollow" data-product_id="11544" data-product_sku="" data-quantity="1" class="add_to_cart_button product_type_simple ajax_add_to_cart">Add to basket</a>
<div class="wpd-buttons-wrap-simple" data-id="11544">
<a href="http://802.f5f.myftpupload.com/11550-2/design/11544/" class="mg-top-10 wpc-customize-product">Design from blank</a>
</div>
</div>
<script>
function buybuttons() {
var buybuttons = document.querySelectorAll('.wpd-buttons-wrap-simple a');
for(var i = 0; i < buybuttons.length; i++){
buybuttons[i].textContent = "Test";
};
}
buybuttons();
</script>
</body>
发布于 2017-06-21 05:12:07
使用'querySelectorAll',您可以获得元素、类和内部的元素,如下所示:
document.querySelectorAll('.wpd-buttons-wrap-simple > a')
发布于 2017-06-21 05:12:22
function buybuttons() {
var buybuttons = document.querySelectorAll('.wpd-buttons-wrap-simple a');
for(var i = 0; i < buybuttons.length; i++){
buybuttons[i].innerHTML="Test";
};
}
buybuttons();
您当前正在覆盖div元素的innerHTML,但您正在查找div中的锚元素。
使用document.querySelectorAll获取所有参数,或使用document.querySelector仅获取第一个。
https://stackoverflow.com/questions/44662874
复制相似问题