我想选择a
标记并在点击时显示其文字。
换句话说,当我点击第一个链接 - “One”时,我想使用alert
显示其文本“One”。
当我点击第二个链接 - “示例”时,我想使用alert
显示文本“示例”。
<body>
<div id="tree">
<ul>
<li><a target="_blank" href="one.html">One</a></li>
<li class="folder expnded"><a target="_blank" href="two.html">Examples</a></li>
</ul>
</div>
<div id="display"></div>
</body>
更新1:
感谢大家的回答。我真正想做的是我需要创建一个树结构,当我单击树叶节点时,我必须显示该叶节点的名称。
我使用jQuery DynaTree创建了树结构,但jQuery选择器在上面的代码中对我不起作用。
我无法在div
标记内选择标记或任何其他元素。
以下是树形结构:
<html>
<head>
<!-- Include the required JavaScript libraries: -->
<script src="js/jquery-1.7.1.min.js" type="text/javascript"></script>
<script src='js/jquery-ui-1.8.20.custom.min.js' type="text/javascript"></script>
<script src='js/myjquery.js' type="text/javascript"></script>
<link rel="stylesheet" type="text/css" href="css/ui.dynatree.css">
<link rel="stylesheet" type="text/css" href="css/style.css">
<script src="js/jquery.dynatree.js" type="text/javascript"></script>
</head>
<body>
<div id="tree">
<ul>
<li>one</li>
<li><a target="_blank" href="">Google</a>
<li class="folder expnded">Examples
<ul>
<li><a target="content" href="" id="s">one</a>
<li><a target="content" href="two.html">two</a>
<li class="folder">Folder one
<ul>
<li><a target="content" href="one.html">one</a>
<li><a target="content" href="two.html">two</a>
</ul>
<li><a target="content" href="three.html">three</a>
<li><a target="content" href="four.html">four</a>
<li class="folder">Folder two
<ul>
<li><a target="content" href="one.html">one</a>
<li><a target="content" href="two.html">two</a>
</ul>
<li class="folder">Folder three
<ul>
<li><a target="content" href="one.html">one</a>
<li><a target="content" href="two.html">two</a>
<li class="folder">Inner Folder
<ul>
<li><a target="content" href="one.html">one</a>
<li><a target="content" href="two.html">two</a>
</ul>
</ul>
</ul>
</ul>
</div>
<div id="display">
<a href="" id="s">one</a>
</div>
</body>
</html>
我发布的图片是上述HTML代码的输出。
在myjquery.js文件中,我有像这样的代码(旧)
$(function() {
// --- Initialize sample trees
$("#tree").dynatree({
autoFocus : true,
// persist: true,
minExpandLevel : 2,
onFocus : function(node) {
// Auto-activate focused node after 1 second
if (node.data.href) {
node.scheduleAction("activate", 1000);
}
},
onBlur : function(node) {
node.scheduleAction("cancel");
},
onActivate : function(node) {
if (node.data.href) {
window.open(node.data.href, node.data.target);
}
}
});
});
更新2:
在myjquery.js文件中,以下新代码适用于我。您可以将其与上面的旧代码进行比较。
$(function() {
// --- Initialize sample trees
$("#tree").dynatree({
autoFocus : true,
persist: true,
minExpandLevel : 1,
onFocus : function(node) {
// Auto-activate focused node after 1 second
if (node.data.href) {
node.scheduleAction("activate", 1000);
}
},
onBlur : function(node) {
node.scheduleAction("cancel");
},
onActivate : function(node) {
if (node.data.href) {
window.open(node.data.href, node.data.target);
}
},
onClick : function(node) {
$.ajax({
type : "GET",
url : "Display",
data : {
id : node.data.title
},
success : function(data) {
$("#display").html(data);
}
});
}
});
});
答案 0 :(得分:6)
$('a', '#tree li').on('click', function(e) {
e.preventDefault(); // this line is for prevent page reload
alert($(this).text());
});
<强> DEMO 强>
您可以尝试如下:
$('span[class^=dynatree-exp-c] a').on('click', function(e) {
e.preventDefault();
alert( $(this).text() );
});
dynatree的每个叶节点都是具有dynatree-exp-c
,dynatree-exp-c1
等类的span,因此我使用[class^=dynatree-exp-c]
来选择其类以dynatree-exp-c
开头的范围。< / p>
答案 1 :(得分:1)
$('a').click(function(){
alert($(this).text());
return false;
});
答案 2 :(得分:0)
答案 3 :(得分:0)
$('a').click(function(e){
alert( $(this).text() );
e.preventDefault();
});