好吧所以我试图实现一些简单但似乎它无法正常工作。我基本上试图获得字体内部令人敬畏的图标类的值。
<div class='last_split'>
<i class='fa fa-trash-o' aria-hidden='true'></i>
<p style='display: none;' class='row_id'>".$row["ID"]."</p>
<p style='display: none;' class='table_name'>".$txt."</p>
</div>
既然有很多这样的字体真棒输出,我需要找到我点击的那个。 我现在面临的问题很简单,它不会返回值。它只返回一个空警报。
$(".fa-trash-o").click(function() {
var id = $(this,".row_id").val();
var table = $(".table_name").text();
alert(id);
});
答案 0 :(得分:1)
您必须在此上下文中使用siblings()
或next()
而不是find()
,
$(".fa-trash-o").click(function() {
var id = $(this).next(".row_id").text();
alert(id);
});
同样.val()
用于输入表单元素,它将在内部查找.value属性。所以我们必须使用.text()
而不是那个。
仅供参考:$(this, "selector")
类似于$(this).find('selector')
答案 1 :(得分:1)
所以row_id
类在技术上并不属于它,而是它的兄弟,你想要像这样定位它:
$(this).next('.row_id).text();
$(this).next('.table_name).text();
由于它们都是<p>
标记,因此您应该抓取.text
或.html
,.val()
仅适用于输入或textarea等表单元素
答案 2 :(得分:0)
<GridView
android:id="@+id/gridview2"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:horizontalSpacing="10dp"
android:numColumns="2"
android:paddingBottom="5dp"
android:paddingLeft="10dp"
android:paddingRight="10dp"
android:paddingTop="5dp"
android:stretchMode="columnWidth"
android:verticalSpacing="10dp" />
毫无意义,段落没有值
您想要的元素是兄弟姐妹,因此您应该使用var id = $(this,".row_id").val();
和next()
。
text()
或
$(this).next().text()
答案 3 :(得分:0)
首先,您使用的上下文选择器用于在另一个元素中查找一个元素,但 var id = $(this).siblings(".row_id").text();
var table = $(this).siblings(".table_name").text();
不是p
的子元素,因此无法找到它。相反,您可以使用i
。
其次,siblings()
用于表单元素以获取其值。 val()
个元素没有值。大概你想得到文本,所以p
就是你所需要的。试试这个:
text()