我需要知道我的jQ函数从哪里调用...
在头上:
function call_pl2(){
$(this).text('some text');
}
身体中的:
<p> <script> call_pl2(); </script> </p>
<!-- OR -->
<div> <script> call_pl2(); </script> </div>
答案 0 :(得分:1)
我明白了你的意思,我恐怕你无法从函数中得到你的js函数所在的元素,但每次调用你的函数你都可以使用另一个函数并搜索你的html内容来查看这个函数的位置在里面。我假设这个函数在加载时被称为html代码中的函数。
答案 1 :(得分:1)
您可以将包含的元素显式传递给script
,而不是尝试确定哪个元素包含call_pl2()
标记(以及扩展名为call_pl2()
的特定调用)。参数:
$(function() {
var call_p12 = function(element) {
if ($(element).is('p')) {
$(element).text('here is some text added to a paragraph');
}
if ($(element).is('div')) {
$(element).text('here is some text added to a div');
}
}
$('div, p').each(function() {
call_p12($(this));
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script>
<p></p>
<div></div>
修改call_p12()
函数以交换jQuery is()中更具体的选择器会相对容易。例如is('.someclass')
来检查类值而不是标记名称。