Google自定义搜索JavaScript回调中prepend方法文本未插入目标div内的问题求助
Google自定义搜索JavaScript回调中prepend方法文本未插入目标div内的问题求助
嘿,我一眼就看出问题出在哪啦!你现在用prependdiv[i].prepend('Some text', div)的写法,其实是把'Some text'和div当成了两个独立的内容,分别插入到prependdiv[i]的最前面——Element.prepend()方法支持传入多个参数,每个参数都会被作为单独的节点(或者文本节点)插入,所以文本自然就跑到div外面去咯。
想要把文本放进test-div里面,你得先把文本添加到你创建的div元素里,再把这个div整体插入到目标位置。给你改好的代码参考:
var SearchResultsRenderedCallback = function() { let prependdiv = document.getElementsByClassName("gsc-table-result"); for (let i = 0; i <= 9; i++) { let div = document.createElement('div'); div.className = 'test-div'; // 先把文本放进div里 div.textContent = 'Some text'; // 再把带有文本的div插入到目标元素开头 prependdiv[i].prepend(div); } }; window.__gcse || (window.__gcse = {}); window.__gcse.searchCallbacks = { web: { rendered: SearchResultsRenderedCallback, }, };
你也可以用div.append('Some text')来添加文本,效果是一样的。核心就是先把文本和div组装成一个整体,再插入到目标元素中,而不是把它们分开作为prepend的参数~
内容来源于stack exchange
相关产品推荐
相关产品推荐

