在下面的场景中,使用javascript和/或jQuery获取所有必要数据的选项是什么?
我不知道如何最好地表达这个词,所以我会尝试一下,并希望在遇到问题时修改它 使用javascript/jQuery,假设我想从单击的元素中获取一些数据到函数进行处理。有两种选择: 备选案文1:在下面的场景中,使用javascript和/或jQuery获取所有必要数据的选项是什么?,javascript,jquery,Javascript,Jquery,我不知道如何最好地表达这个词,所以我会尝试一下,并希望在遇到问题时修改它 使用javascript/jQuery,假设我想从单击的元素中获取一些数据到函数进行处理。有两种选择: 备选案文1: $('.classOfInterest').click(function() { // How can I get 'a' and 'b'? var c = $(this).hasClass('cExists'); }); <a class="cExists classOfIn
$('.classOfInterest').click(function() {
// How can I get 'a' and 'b'?
var c = $(this).hasClass('cExists');
});
<a class="cExists classOfInterest" />
$('.classOfInterest')。单击(函数(){
//我怎样才能得到“a”和“b”?
var c=$(this.hasClass('cExists');
});
备选案文2:
function processClick(string a, string b) {
// How can I get a reference to the calling element, similar to $(this) in the event handler?
var c; // here I want to determine whether the calling element has class 'cExists'
}
<a class="cExists" href="javascript:processClick('a', 'b')" />
函数进程单击(字符串a、字符串b){
//如何获得调用元素的引用,类似于事件处理程序中的$(this)?
var c;//这里我想确定调用元素是否具有类“cExists”
}
选项1是一种更像jQuery的方式来完成您想要做的事情。通过使a和b成为链接的属性,可以获得它们:
$('.classOfInterest').click(function() {
// How can I get 'a' and 'b'?
var c = $(this).hasClass('cExists');
alert(this.attr('a') + ' ' + this. attr('b'));
});
<a class="cExists classOfInterest" a="hi" b="mom" />
$('.classOfInterest')。单击(函数(){
//我怎样才能得到“a”和“b”?
var c=$(this.hasClass('cExists');
警报(this.attr('a')+''+this.attr('b'));
});
选项1是一种更像jQuery的方式来完成您想要做的事情。通过使a和b成为链接的属性,可以获得它们:
$('.classOfInterest').click(function() {
// How can I get 'a' and 'b'?
var c = $(this).hasClass('cExists');
alert(this.attr('a') + ' ' + this. attr('b'));
});
<a class="cExists classOfInterest" a="hi" b="mom" />
$('.classOfInterest')。单击(函数(){
//我怎样才能得到“a”和“b”?
var c=$(this.hasClass('cExists');
警报(this.attr('a')+''+this.attr('b'));
});
JS:
HTML:
HTML:
但是通过这种方式,您将公开元素标题上的a和b变量。JS:
HTML:
HTML:
但是这样你会在元素的标题中暴露出<强> > <强> > b>强>变量。< > P> >如果你在寻找一个符合标准的解决方案,你可以考虑使用A,例如
要获取数据,请读取
href
属性并使用split()
提取逗号分隔的值。请记住,在处理单击事件时,通过代码< >预防错误()< <代码> >或代码>返回false -否则,浏览器将尝试下载数据或只是失败。 < P>如果您正在寻找符合标准的解决方案,您可以考虑使用A,例如
要获取数据,请读取
href
属性并使用split()
提取逗号分隔的值。请记住,在处理单击事件时,通过preventDefault()
或return false
阻止默认操作-否则,浏览器将尝试下载数据或失败。作为XHTML?可能不会。但是让你的页面验证为XHTML是一场巨大的宗教辩论。哦,我真的不在乎,只是好奇比什么都重要。我更关心的是如何完成它(tm)。谢谢,这就完成了我想做的事情。我只是不确定创建自己的属性是否被认为是一个好的实践…?在呈现(从服务器)html中的自定义属性不是很好。作为XHTML?可能不会。但是让你的页面验证为XHTML是一场巨大的宗教辩论。哦,我真的不在乎,只是好奇比什么都重要。我更关心的是如何完成它(tm)。谢谢,这就完成了我想做的事情。我只是不确定创建自己的属性是否被认为是一个好的实践…?在呈现(从服务器)html中的自定义属性不是很好。
<script type="text/javascript">processClick("foo123", "a", "b")</script>
<a class="cExists" id="foo123" href="#">
$(function() {
$('cExists').click(function() {
var c = $(this).hasClass('cExists');
var a = $(this).attr('title').split(":")[0];
var b = $(this).attr('title').split(":")[1];
alert(a + ' ' + b);
});
});
<a class="cExists" href="#" title="foo:bar">
<a href="data:text/csv,a-data,b-data">foo</a>