$(".mylink").live('click', function(){
var linkid = $(this).attr('id');
if($("#TBL").find('tbody > '+ #linkid ).css("display")=="inline"){
// Do Somerthing
}
});
我必须将动态变量“linkid”放入上面的if条件iam中寻找具有解释的值 我得到“无效的字符错误。我这样做
答案 0 :(得分:1)
应该如此简单:
.find("tbody > #" + linkid);
您可以将#
符号直接放入Javascript中。因为#linkid
无效Javascript。
要特别小心,您可能希望使用正则表达式来转义ID中的CSS3字符。有关需要转义哪些字符的详细信息,请参阅here。
<强>更新强>
尼克的答案是正确的,适合您的情况。我没注意到你试图使用你点击的同一个元素的id。 this
指的是生成点击的元素,因此您不必通过jQuery再次获取它。
一般来说,如果你想在jQuery选择器字符串中使用包含id的变量,我上面写的内容将会起作用。
答案 1 :(得分:1)
你可以这样做:
$(".mylink").live('click', function() {
if ($(this).css("display")=="inline") {
// Do Somerthing
}
});
由于ID 应该是唯一的,您可以使用this
,您应该已经拥有唯一具有该ID的元素。如果您有多个具有相同ID的元素是另一个需要解决的问题,那么您可能应该使用href="#id"
,并在处理程序中使用$(this.hash)
。