4

这可能是一个愚蠢的错误,但我似乎无法让它发挥作用。我正在尝试使用 id=variable id 的 div 更改所有 H2 元素的 innerhtml。

var numberOfQuestions = $('.question').length;
  var id = "question"+(numberOfQuestions);
  clone.id=id;
  document.documentElement.getElementById(id).getElementsByTagName( "h2" ).innerhtml= "Question"+(numberOfQuestions);

我想我在这里做错了:document.documentElement.getElementById(id).getElementsByTagName( "h2" ).innerhtml= "Question"+(numberOfQuestions); nrtire 脚本:

 <script type="text/javascript">

function copyAppendRow() {
  var question = document.getElementById("question");
  var clone=question.cloneNode(true);
  var numberOfQuestions = $('.question').length;
  var id = "question"+(numberOfQuestions);
  clone.id=id;
  var questiondiv = document.getElementById(id);
var h2s = questiondiv.getElementsByTagName("h2");
for(var h = 0; h < h2s.length; h++ ) {
  h2s[h].innerHTML = "Question"+(numberOfQuestions); }
  if($('#questionsuccess').css('display') == 'none'){
  $('#questionsuccess').fadeIn('fast');
 $('#questionsuccess').fadeOut(4000);
  }
  }

</script>
4

2 回答 2

7

你的意思是这样的:

var divEle = document.getElementById("yourDivId");
var h2s = divEle.getElementsByTagName("h2");
for(var h = 0; h < h2s.length; h++ ) {
  h2s[h].innerHTML = "Question"+(numberOfQuestions);
}

或 jQuery 方式:

$("#"+yourDivId + " > h2").html("Question"+(numberOfQuestions));
于 2012-10-07T06:08:14.793 回答
2

我从您的第一行中看到您已经在使用 jQuery,因此请让自己的生活更轻松,并使用它来完成这项任务。

$('#' + id + ' h2').html( 'Question ' + numberOfQuestions );

jQuery 选择器就像 CSS 选择器一样工作。因此,这行代码会找到以您的变量id为 id 的元素,并获取该元素中的所有 h2 标签。.html是一个设置元素内部 HTML 的 jQuery 方法。

于 2012-10-07T06:08:48.767 回答