我正试图通过具有jQuery函数的链接来定位父对象,首先是获取其innerHtml,但现在只是获取其值。
但是,我无法跟踪它,而我已经花了太多时间在这个简单的问题上。
这是我的html:
<table>
<tr>
<td title="td_title_1" value="td_value_1">Some text<a href="#" title="Copy">Element_1</a></td>
<td title="td_title_2" value="td_value_2">Some other text<a href="#" title="Copy">Element_2</a></td>
</tr>
</table>
还有我的jQuery:
$(function(){
$("*").on('click','a[title="Copy"]',function(){
var clipboard = $(this).parent('td').find('[title="td_title1"]').val();
alert(clipboard);
});
});
我尝试了parent(),parents(),closest()...我仍然得到“未定义”的值。是的,添加了jQuery库。
此外,您将如何获得“某些文本”部分?
感谢您的时间。
答案 0 :(得分:10)
value
不是td
或其他任何输入的有效属性,只能输入。您必须使用data-value
才能正确。
HTML:
<table>
<tr>
<td title="td_title_1" data-value="td_value_1">Some text<a href="#" title="Copy">Element_1</a></td>
<td title="td_title_2" data-value="td_value_2">Some other text<a href="#" title="Copy">Element_2</a></td>
</tr>
</table>
JS:
$(function(){
$(document).on('click','a[title="Copy"]', function(){
var clipboard = $(this).parent().data('value');
alert(clipboard);
});
});
*
(星号选择器)是一个棘手的选择器。请勿在所有目的中使用它。
答案 1 :(得分:5)
$(function(){
$("*").on('click','a[title="Copy"]',function(){
var clipboard = $(this).parent('td').filter('[title="td_title1"]').attr('value');
alert(clipboard);
});
});
您应该尝试使用过滤器。查找功能用于查找孩子,您的目的是根据条件过滤tds,并将val更改为.attr('value'),因为.val仅用于输入,而使用attr <读取任何属性/ p>
答案 2 :(得分:5)
第一件事是您需要使用SELECT
p.pr_id, -- NOT liker.id_produk
COUNT(l.id_produk) AS jumlah_like,
l.id_user
FROM produk p
LEFT JOIN liker l
ON l.id_produk = p.pr_id AND l.id_user = 1
GROUP BY
p.pr_id,
l.id_user;
,以便它仅适用于所需的元素,第二件事是,您可以使用简单的方法来克隆元素,以便仅获取其中的文本部分。 stopPropagation()
元素,它是被单击元素的直接父元素。
<td>
$(function() {
$("*").on('click', 'a[title="Copy"]', function(e) {
var clipboard = $(this).parent('td')
.clone() //clone the element
.children() //select all the children
.remove() //remove all the children
.end() //again go back to selected element
.text();
alert(clipboard);
e.stopPropagation();
});
});
答案 3 :(得分:5)
只需使用@users.route("/oisdate_upload", methods=['GET', 'POST'])
@login_required
def doimport_ois_date():
msg=None
if request.method == 'POST':
def OIS_date_init_func(row):
#c.id = row['id']
c = Ois_date(row['date'],row['on'],row['m1'],row['m2'],row['m3'],row['m6'],row['m9'],row['y1'],row['y2'],row['y3'],row['y4'],row['y5'],row['y7'],row['y10'])
return c
request.save_book_to_database(
field_name='file', session=db.session,
tables=[Ois_date],
initializers=[OIS_date_init_func])
msg = "Successfully uploaded"
#return redirect(url_for('users.doimport_ois_date'), code=302)
if((Ois_date.query.order_by(Ois_date.date.desc()).first()) is not None):
date_query = Ois_date.query.order_by(Ois_date.date.desc()).first()
start_date = date_query.date
date_query1 = Ois_date.query.order_by(Ois_date.date.asc()).first()
end_date = date_query1.date
return render_template('OISdate_upload.html',msg=msg, start_date=start_date,end_date=end_date)
$(this).parent().attr('value');
$(function(){
$(document).on('click','a[title="Copy"]',function(e){
var clipboard = $(this).parent().attr('value');
alert(clipboard);
e.stopPropagation();
});
});
答案 4 :(得分:3)
尝试
alert($(this).parent('td').attr('value'));