我正在尝试将属性location
传递给jquery,但无法执行此操作
可能有人指出我做错了什么
PHP
<?php echo "<a class='classloader' location='$array[$i]' href='#'>$array[$i]</a>"; ?>
Jquery的
<script type ="text/javascript">
$(document).ready(function () {
var location= $(this).attr('location');
$(".classloader").click(
function () {
display();
}
);
});
function display() {
$('#contenthere').html(location);
}
</script>
答案 0 :(得分:0)
您在$(this)
处理程序之外使用click
,因此它不会引用他们点击的元素。
然后你应该将字符串作为参数传递给display()
。
$(".classloader").click(function() {
var location = $(this).attr("location");
display(location);
});
function display(str) {
$('#contenthere').html(str);
}
顺便说一句,你不应该像这样构建自己的属性,它们可能与未来的HTML版本冲突。使用data-XXX
属性,这些属性是为程序员保留的。
<?php echo "<a class='classloader' data-location='$array[$i]' href='#'>$array[$i]</a>"; ?>
然后在jQuery中,您可以使用$(this).data('location')
来访问它。