我想在这里使用javascript,而不是jquery。如何替换此html文本?
如何用5替换1?我尝试了这个,但它没有用。
127.0.0.1
document.getElementsByClassName('hello').innerHtml=5
答案 0 :(得分:2)
document.querySelector( '.hello a' ).innerHTML = 5;
document.getElementsByClassName()
会为您提供包含<li>
元素的实时HTMLCollection
。您需要使用document.querySelector()
选择<a>
。
如果只有一个<a>
匹配该选择器,则上述解决方案才有效。否则你必须使用document.querySelectorAll()
并更改所有元素或选择正确的元素。
答案 1 :(得分:0)
使用,
document.querySelector(".hello a").innerHTML = 5;
问题是您选择了<li>
元素而不是其中的<a>
。
答案 2 :(得分:0)
由于您不想使用jQuery,因此需要考虑以下JS函数:
function updateAnchorText(className, anchorText)
{
// NOTE: you could make 'anchorText' an integer value that is incremented during each update and set using .ToString()
var liElems = null;
var aElems = null;
var liElem = null;
var aElem = null;
var i,j;
try
{
liElems=document.getElementsByClassName(className);
if(liElems!=null)
{
for(i=0;i<liElems.length;i++)
{
liElem = liElems[i];
aElems=liElem.getElementsByTagName("a");
if(aElems!=null)
{
for(j=0;j<aElems.length;j++)
{
aElem = aElems[j];
aElem.innerHTML=anchorText;
}
}
}
}
}
catch(e)
{
alert("Error: " + e.Message);
}
finally
{
}
return;
}
使用updateAnchorText调用它(&#34;你好&#34;,&#34; 5&#34;);