2016-09-20 3 views
-4
{volist name="title" id="title"} 
    <a class="outer" href="#"><span class="inner"><b class="text">{$title.productname}</b></span></a> 
{/volist} 

Кто-нибудь знает, как получить текстовое значение {$ title.productname}, когда я нажимаю? Он имеет шесть похожих тегов, и я просто хочу получить тот, который я нажал.Как получить конкретное текстовое значение при нажатии?

Благодаря Ли

+1

ли вы попробовать '$ (это) .text()'? – Dekel

ответ

1

You не нужно jQuery для этого.

$outer = document.getElementsByClassName('outer'); 
 

 
for(var i = 0; i < $outer.length; i++) { 
 
    $outer[i].onclick = function() { 
 
     console.log(this.querySelector('.text').innerHTML); 
 
    } 
 
}
<a class="outer" href="#"> 
 
    <span class="inner"> 
 
     <b class="text">{$title.productname}</b> 
 
    </span> 
 
</a> 
 
<br/> 
 
<a class="outer" href="#"> 
 
    <span class="inner"> 
 
     <b class="text">{$title.productnameB}</b> 
 
    </span> 
 
</a>

+0

Спасибо, Роберт. ваш очень хорошо, но, поскольку я основываюсь на первом порядке, я принимаю чужой ответ. :) –

0
$('a.outer').on('click',function(){ 
    alert($(this).find('.text').text()); 
}); 
+1

Спасибо. Это то, чего я хотел. –

+0

Добро пожаловать. Я счастлив, что смогу вам помочь. –

0

У вас есть несколько идентификаторов можно использовать с JQuery, чтобы добраться до этого значения: Что-то вроде:

$('.text').html() 

может быть хорошим началом.

0

Если я понял, что вам нужно, это должно работать:

$(".outer").click(function() { 
    $(this).find(".text").text(); 
}); 

Edit: Если эти элементы генерируются динамически, используйте предложение Рахуло Пател.

0

Этот селектор будет специально предназначаться метки, содержащие названия продуктов и поможет избежать конфликтов с другими селекторы в вашем коде:

var boldText = $("a.outer span.inner b.text").text(); 
0

Yopu может достигнуть его, используя text() метод

$("a.outer").on('click',function(){ 
alert($(this).text()); 
}) 
Смежные вопросы