这是问题
<div class="question">
<div class="button" data-q="1" data-a="1"><a href="javascript:void();">2002</a></div>
<div class="button" data-q="1" data-a="2" data-g="true"><a href="javascript:void();">2010</a></div>
<div class="button" data-q="1" data-a="3"><a href="javascript:void();">1985</a></div>
<div class="button" data-q="1" data-a="4"><a href="javascript:void();">2013</a></div>
</div>
我想为attr()设置data-g的text()值。
现在我尝试的代码不起作用
$('.question .button a').click(function(){
var aText = $(this).parents('.question').find('data-g').text();
return aText;
});
我试过这个,但我在.question DIV(2002,2010,1985,2013)中得到了所有文字
$('.question .button a').click(function(){
var aText = $(this).parents('.question').text();
return aText;
});
那么我怎样才能只使用带有data-g属性的DIV结果并仅将2010作为文本。
由于
答案 0 :(得分:5)
$('.question .button a').click(function() {
var aText = $(this).closest(".question").find("[data-g]").text();
// to check for `true` use ("[data-g='true']")
console.log(aText);
});
答案 1 :(得分:1)
像
一样使用它$('.question .button a').click(function(e){
e.preventDefault();
var aText = $(this).closest('.question').find("div[data-g]").text();
alert(aText);
return aText;
});
注意
从该函数返回aText
将在代码中将该值返回到任何地方,因为这是一个回调函数,更多地从单击回调返回的值在jQuery中具有不同的含义,这可能导致意外行为。如果你需要将该值传递给其他地方,则必须使用此值调用另一个函数,如
someFunction(aText);
检查jQuery has attribute selector