innerHTML添加一个ID="abc"的input然后想用jquery$("#abc")获取并赋值获取不到,也无法赋值

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了innerHTML添加一个ID="abc"的input然后想用jquery$("#abc")获取并赋值获取不到,也无法赋值相关的知识,希望对你有一定的参考价值。

参考技术A 获取input标签中的值,也就是value,可以通过$("#abc").val();给该input赋值,则是$("#abc").val(“赋值”);innerhtml是给标签体中插入html文本,如,插入内容“123”,最后获得的结果为123;

javascript,innerHTML或者innerText获取的内容是否字符串?为啥和另外一个字符串相比结果不对

var tdd = document.getElementById(tdId);
if(tdd.innerHTML=="男") alert("de");
tdId是一个表格单元格的id(就是td对应的),单元格里的内容明明就是男,为什么不出现alert的结果呢?
if(tdd.childNodes[0].nodeValue==“男")的结果也不出来alert,后来我用 if(tdd.childNodes[0].nodeValue==x.childNodes[0].nodeValue)也不可以,其中x=xmlDoc.getElementsByTagName("content")[0];就是xml文件中第一个content对应的内容是男,这样也还是不出来alert函数,为什么呢,求高手指点,急急急!!!!!!!

如果tdId是单元格的ID而不是一个变量的话,那应该写成字符串形式的,即:getElementById("tdId")

测试代码:

<table border="0" cellpadding="0" cellspacing="0">

  <tr>

    <td id="tdId">男</td>

  </tr>

</table>

<script type="text/javascript">

var tdd = document.getElementById("tdId");

if(tdd.innerHTML == "男") alert("de");

</script>

其实,这个应该能看到错误提示的(如图)

参考技术A alert(tdd.innerHTML) 看看,说不定单元里还有标签包着文字,或者还有空格

单元格属于元素节点,nodeValue 属性对于文档节点和元素节点是不可用的,返回null,
包着文字的节点应该是文本节点,
tdd.childNodes[0].childNodes ==1
tdd.childNodes[0].childNodes[0].nodeType==3 说明单元格里面只有一个文本节点,tdd.innerHTML=="男" 才可能会返回true ,当然要排除空格问题
另外,在firefox下,空的文本节点也算一个节点,如果文字包含在别的标签内,说不定还有空文本节点,tdd.childNodes[0].childNodes 就大于1了本回答被提问者采纳
参考技术B 漏了双引号,获取不到对象!var tdd = document.getElementById(”tdId“) 参考技术C 你先写一个简单的jsp文件,测试一下直接用alert能行不

以上是关于innerHTML添加一个ID="abc"的input然后想用jquery$("#abc")获取并赋值获取不到,也无法赋值的主要内容,如果未能解决你的问题,请参考以下文章

使用 document.getElementById("id").innerHTML 时如何更改文本颜色

用js怎样自动循环生成div?

js_更新DOM

jquery中span怎么使用innerhtml赋值?<span id="aa"></span>

当通过 innerHTML 添加元素时,为啥我的动画会“重播”?

Javascript 'innerHTML' 方法覆盖复选框选择