刚开始使用jQuery,遇到了动态更改选择器的问题。
<html>
<head>
<script type="text/javascript" src="jquery.js"></script>
<script>
function addFirst(){
var fc = document.getElementById("fc").value;
$("#parent").append("<div id='firstChild" + fc + "'>My boring text.</div><a href='#' onClick='addSecond(\"firstChild" + fc +"\")'>Add Second Child</a>");
fc = (fc - 1) + 2;
document.getElementById("fc").value = fc;
}
function addSecond(){
$(***THE PARENT SELECTOR***).append("<div>Some more boring text.</div>");
}
</script>
<body>
<input type="hidden" id="fc" value="1"
<div id="parent"></div>
<a href="#" onClick=" addFirst('#parent');">Add First Child</a>
</body>
</html>
我需要一个选择器,当父对象是动态创建的时,可以获取该对象的直接父级,如我的文本“父级选择器”所示。 编辑 我的解决方案是在onClick事件中使用.call。
位于addFirst()函数的字符串中:
<a href='#' onClick='addSecond.call(this,\"firstChild" + fc +"\"); return false;'>
然后,修改了 addSecond() 函数:
$(this.parentNode).prepend("<div>BlahBlah");
$(this).after()
而不是 append() 吗? - Aprillion<<a href='#' onClick='addSecond.call(this,\"#firstChild" + fc + "\"); return false;'></a>
.call
将函数addSecond()
中的选择器参数设置为我指定的任何对象。然后,在函数中:$(this.parentNode).prepend(<div>BlahBlah</div>);
- Plummer