<ol>
{section name=s loop=$arr}
<li id="{$arr[s].id}"><a href='{$arr[s].link}{$arr[s].id}'>{$arr[s].title}</li>
{/section}
</ol>
这个是一个用smarty模板引擎下的一个模板文件,现在我要用jquery获取<li id="{$arr[s].id}">的id值来做一些效果怎么弄?求大神指教!
{section name=s loop=$arr}
<script>
var id = {$arr[s].id};
</script>
<li id="{$arr[s].id}"><a href='{$arr[s].link}{$arr[s].id}'>{$arr[s].title}</li>
{/section}
</ol>
懂了么?
追问这样的话,我的js页面是链接进来的,这样可以吗?
追答刚才理解错你问题了
如果你是想在外部的js中控制模版生成的dom元素的话,就很简单了
只要写在document.ready中就可以了
把jquery代码写在
$(function() {
})
中间就能访问到的
假如这个是js文件,我模板那样写后怎么获得 var id的值放在下面的选择器中?$(document).ready(function(){$("#id").mouseover(function(){$(this).hide();});});
如果是这样的呢?
这下理解你问题了。。
这其实算是个设计结构的问题吧
如果你想设置没有具体指向,但是普遍适用的结构,可以写在外部的js中
例如,要给这些li都添加一些效果,你可以在外部js中这么做
$("ol > li").on("mouseover",function() {$(this).hide();
//do otherthing;
});
如果是有例外的情况,需要根据具体元素的具体参数进行具体操作的话
$("#"+id).hide();
//do otherthing;
}本回答被提问者采纳
假如这个是js文件,我模板那样写后怎么获得 var id的值放在下面的选择器中?
$(document).ready(function(){
$("#id").mouseover(function(){
$(this).hide();
});
});
$('#id'+).click({});
追问没有反应。
追答那就用动态绑定
$("ol li").mouseover(function(){
$(this).hide();
});
这样的话如果是导航栏,里面的效果都一起变了。如果要做其中一个怎么办?
追答换成这个 $("ol li").each()
我jq是个新手,请问这个具体要怎么拿?