0

此代码适用于除 Internet Explorer(Opera、Firefox、Crome..)以外的所有主要浏览器

每秒的 js 问题都与 IE 有关。提前致谢。

<script type="text/javascript">
function myFunction(nesto,param)
{
var str = nesto;
    if (param == "latin")
    {
    str = str.replace(/Џ/g,"DŽ");
    str = str.replace(/Љ/g,"LJ");
    }
    if (param == "cirilic")
    {
    str = str.replace(/DŽ/g,"Џ");
    str = str.replace(/LJ/g,"Љ");
    }
return str;
}
function konvertor(param) {
 for (i=0;i<document.getElementsByName("jezik").length; i++) {
document.getElementsByName("jezik").item(i).innerHTML = myFunction(document.getElementsByName("jezik").item(i).innerHTML,param);
 }
}
</script>
<button onclick="konvertor('latin')">latinica</button>
<button onclick="konvertor('cirilic')">cirilica</button>
<div name="jezik">DŽ LJ</div>
<div name="jezik">DŽ LJ</div>
4

2 回答 2

1
function konvertor(param) {
    var len=document.getElementsByName("jezik").length;
    for (i=0;i<len; i++) {
        // use array access instead of item()
        document.getElementsByName("jezik")[i].innerHTML = myFunction(document.getElementsByName("jezik")[i].innerHTML,param);
    }
}
于 2012-09-28T07:23:34.017 回答
1

getElementsByName 仅在它们have a name-attribute(following the specification/DTD). Those are e.g. form-elements and images, but not <div>-elements 时按名称获取元素。

您可以使用querySelectorAll()代替:

document.querySelectorAll("*[name='jezik']")
于 2012-09-28T07:35:41.123 回答