未捕获的TypeError:在“ this”中设置标题时,无法设置未定义的属性“ title”

时间:2019-11-18 08:58:27

标签: javascript

我有一个元素

<td onmouseover="show('VersionToolTip',0,0,this)" onmouseout="startTimer(this)" title="">Version</td>

javascript

function show(sDest, itop, ileft, s) {	

	if(navigator.appVersion.toUpperCase().indexOf("CHROME") !== -1){
		s.title = document.getElementById(sDest);
	}

}

当我将鼠标悬停在(工具提示)version上时,我得到了objectHTML[TableElement],但是我期望document.getElementById(sDest)中的值

我调试时看到错误

  

未捕获的TypeError:在“ this”中设置标题时,无法设置未定义的属性“ title”

2 个答案:

答案 0 :(得分:1)

您应该使用setAttribute设置标题,并使用innerText来获取文本:-

function show(sDest, itop, ileft, s) {  

    if(navigator.appVersion.toUpperCase().indexOf("CHROME") !== -1){
        s.setAttribute('title', document.getElementById(sDest).innerText);
    }

}

希望这会有所帮助!

答案 1 :(得分:0)

以下代码对我有用。基于@ShivRatna和@Ivar的输入

if( navigator.appVersion.toUpperCase().indexOf("CHROME") !== -1){
		
		var dest = document.getElementById(sDest);
		console.log(dest.innerText);
		s.title = (dest.innerText);
		
	}